计算每行的空间

时间:2018-12-04 16:54:26

标签: c++ char

嗨,我正在编写一个程序,该程序从文本文件中读取行,然后输出每行的大小以及每行中有多少空格。我在使用空格的第二部分遇到麻烦,当它找到一个空格时,它只会保留该数字并将其输出到下面的每一行。所以我想知道如何将计数器设置回0。这是我的代码:

if(myfile.is_open()) {
    while(!myfile.eof()) {

        i++;
        getline(myfile,line);
        strcpy(ch, line.c_str());
        r=r+line.length();

        for(int j=0; j<line.size(); j++) {
            if(line[j]==' ') {
                status = true;
                n++;
            } else {
                n = 0;
            }
        }

        std::cout << i << ". " << ch << " -- " << " (" << line.size() << ") " << " number of spaces: " << n << std::endl;
    }
}

1 个答案:

答案 0 :(得分:1)

好吧,只需更改您的for循环:

n = 0; // After each line
for(int j=0; j<line.size(); j++)
{
    if (line[j] == ' ') n++;
}