繁体   English   中英

C++ 逐行读取文本文件

[英]C++ Reading text file line by line

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

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

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

readingFile.close();

一个.txt

23 4 555

2123 44 21 4

1 45 667 2 112

工作 C++ 代码

为了消除疑虑在https中测试它://www.tutorialspoint.com/compile_cpp11_online.php只需复制粘贴执行

#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()

暂无
暂无

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

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