[英]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.