C++逐行读取文本文件

C++ Reading text file line by line

我想读取一个txt文件,我想一个一个地处理行上的每个数字,应用一些函数并传递给另一行。当该行结束时,我不知道如何对下面的行应用相同的操作。方法将从每一行获得不同的输出,这就是为什么我必须分别处理每一行。

int number;
ifstream readingFile("a.txt");

while(readingFile >> number){
    /* Methods will be applied to each number in the line */
}

readingFile.close();

a.txt

23 4 555

2123 44 21 4

1 45 667 2 112

工作 C++ 代码

解惑 在https://www.tutorialspoint.com/compile_cpp11_online.php中测试一下 只需 copy-paste 执行

#include <iostream>
#include <string> 
#include <sstream>
#include <fstream> 
int main () 
{   
    //code create a file with numbers
    std::ofstream myfile;
    myfile.open ("file.txt");
    myfile << "123 12  32323\n 4444 55 535\n";
    myfile.close();
    
    std::ifstream input( "file.txt" );
    for( std::string eachLine; getline( input, eachLine ); )
    {
        std::istringstream strm(eachLine);
        std::string splitedLines;
        // loop for each string and add to the vector
        while ( strm >> splitedLines )
            {
            std::stringstream geek(splitedLines);
            int num;    // can be int, float or double
            geek >>num;
            //perform action on all num in each line one by one 
            std::cout<<num<<std::endl;
            }    
        }
    return 0; 
}

编辑: PythonCode 逐行读取数字

fileName = open('a.txt', 'r')
line = fileName.readline() //reading first line
while(line):
    for eachStringNumber in line.split():
        number = int(eachStringNumber)
        /// Methods will be applied to each number in the line ///
    line = fileName.readline() // reading lines one by one in each loop
fileName.close()