繁体   English   中英

为什么在同一文本文件上多次运行的程序会有不同的输出?

[英]Why is there different outputs from a program ran multiple times on the same text file?

因此,我有一个程序可以读取文本文件,其行号由逗号分隔。 我得到了文本文件的每一行,并逐个字符地对其进行了解析。 如果我遇到逗号,请继续。 当我得到一个不同于逗号的东西(应该是整数)时,我将该字符转换为整数并打印出来。 我的程序无法正常运行,有时只打印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而不是==

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM