最常见的类为vector,基本上可以取代C的array,而且比array好用很多。
下面这个例子,是从文件中读取所有的行存入到lines中,然后输出。
vector类
不用去管promptUserForFile以及readEntireFile怎么实现的,包含那个库很重要。
#include <iostream>
#include <fstream>
#include <string>
#include "filelib.h"
#include "vector.h"
#include "console.h"
using namespace std;
void readEntireFile(istream &is, Vector<string> &lines);
int main() {
ifstream infile;
Vector<string> lines;
promptUserForFile(infile, "Input file: ");
readEntireFile(infile, lines);
infile.close();
for (int i = lines.size() - 1; i >= 0; i--) {
cout << lines[i] << endl;
}
return 0;
}
下面这个例子,统计字符
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cctype>
#include "filelib.h"
#include "vector.h"
#include "console.h"
using namespace std;
static const int COLUMNS = 7;
int main() {
Vector<int> letterCounts(26);
ifstream infile;
promptUserForFile(infile, "Input file: ");
char ch;
while (infile.get(ch)) {
if (isalpha(ch)) {
letterCounts[toupper(ch) - 'A']++;
}
}
infile.close();
for (char ch = 'A'; ch <= 'Z'; ch++) {
cout << setw(COLUMNS) << letterCounts[ch - 'A'] << " " << ch << endl;
}
return 0;
}
Input file: /home/wang/3english
377 A
55 B
190 C
247 D
575 E
119 F
62 G
203 H
344 I
2 J
14 K
205 L