c++ - 计算每行的空格

标签 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;
    }
}

最佳答案

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

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

关于c++ - 计算每行的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53617916/

相关文章:

char* 或 char ?.我不明白这里的声明

c - 如何将字符串标记保存到 char 变量?

c++ - 如何在循环中使用多维字符或字符串数​​组

arrays - 使用 strcpy() 在 C 中正确为指针赋值

java - 编写接受字符串并返回字符数组的方法时遇到问题

c++ - C++ 中的单词语言检测

c++ - 比较器函数 vector 的默认参数

c# - 发送带有送达信息的短信

c++ - 为什么 Qt 在头文件中包含现有类的空类定义?

c++ - 有趣的处理时间结果