所以我有一个程序可以读取一个文本文件,该文件的行中的数字用逗号分隔。我获取文本文件的每一行并逐个字符地解析它。如果我遇到逗号,我就继续。当我得到不同于逗号的东西(应该是一个整数)时,我将该字符转换为一个整数并打印出来。我的程序没有正常工作,有时它只打印 2 个空行,有时它打印“1 1 2 2 3 3 4 4”,然后是一个空行。
程序:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char *argv[]) {
ifstream infile(argv[1]);
string str;
int num, i;
while (!infile.eof()) {
getline(infile, str);
if (str.length() == 0) continue;
else {
for (i == 0; i < str.length(); ++i) {
if (str[i] == ',') continue;
else {
num = str[i] - '0';
cout << num << " ";
}
}
}
cout << endl;
}
infile.close();
return 0;
}
文本文件:
1,1,1,2,2,3,3,4,4
2,3,4,5,5
最佳答案
你在 for 循环中有错别字,应该是 i = 0
而不是 ==
关于c++ - 为什么在同一个文本文件上运行多次的程序会有不同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38728990/