c++ - 计算文件中的偶数行数

标签 c++ string file

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{

    ifstream plik;

    plik.open("napisy.txt");
    int nr_line=0;
    string line;
    int ile_parzystych=0;


    cout << "Podpunkt a)=:"<< endl;

    if(plik.good()==false){
        cout << "wrong read of file!"<<endl;
    }

    while(getline(plik,line))
    {
        if( line.length() / 2 == 0) 
        {   

        ile_parzystych++; 
            if(nr_line==1)
            {cout << "to jest pierrwsza linia - jest ona nieparzysta a więc licznik = " << ile_parzystych << endl;}
            if(nr_line==2)
            {cout << "to jest druga linia - jest ona parzysta a więc licznik = " << ile_parzystych << endl;}
        }
    }
    plik.close();
    cout << endl <<  ile_parzystych << " <- Tyle jest linii parzystych";

    }

问题是我只有这个输出:

cout << "Podpunkt a)=:"<< endl;

所以它显示了 Podpunkt a)=:

cout << endl << ile_parzystych << " <- Tyle jest linii parzystych"; 0 <- Tyl jest linii parzystych

我不知道为什么它不算数。

最佳答案

nr_line 在整个程序中保持为 0,因此您的循环永远不会进入两个 if 条件

if (nr_line == 1)

if (nr_line == 2)

关于c++ - 计算文件中的偶数行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23237855/

相关文章:

c++ - 如何在 GTK+ 中使用 sleep()

c++ - 如何中断C++程序

c++ - boost::optional<std::string> 和来自 char[] 的隐式构造函数

c++ - 无法通过循环运行我的代码但是手动复制和粘贴工作

.net - 使用正则表达式将字符串映射到功能

c - 如何获取指向文件地址的 const int

c - fclose 和 close 的区别

python MySQL 模块类文件名

c++ - Tracking down Valgrind 40 bytes in 1 blocks 肯定丢在丢失记录中

c++ - rand() 函数不能与文件 I/O 结合使用