好的,我正在试图找出哪种方式可以更快地读取我正在使用的文本文件。该文件的内容如下所示
1982 3923 3542 4343 2344 3453 2 334 423423 32432 23423
它们基本上只是一个任意数量的int数字,我需要逐行读取。使用getline或插入(>>)运算符会更好吗?我个人认为通过使用插入运算符实现起来会容易得多,但我不知道如何编写程序,以便它读取同一行中的所有int数字,直到它到达结尾。我想把它设置如下:
ifstream input;
input.open("someFile.txt");
if (input) {
char* ch;
while (ch != '\n\)
getline(input, buffer, ' ')
唯一的问题是我必须转换为int,然后将每个int放入一个数组中。我期望的最终目标是生成一个二维数组,其中int的每一行都是int的数组。关于最佳实施的任何建议都表示赞赏!
答案 0 :(得分:5)
我会保持简单:
ifstream in(...);
string line;
while (getline(in, line)) {
istringstream line_in(line);
while (line_in) {
int val = 0;
if (line_in >> val) {
// Do something with val
}
}
// eol
}
答案 1 :(得分:2)
首先生成正确的代码。如果您以后需要,请对其进行微调。