我有79个.txt
个文件:
iRun iDate showerEnergy thetaRad phiRad totalShowers totalParticles e+ e- μ+ μ-
4001 121125 5e+07 1.61401 0.00118607 1 9929166 6909475 1271116 1399686 151330 148624
-1 4001 121125 5e+07 1.61401 0.00118607 2 9929167 6909475 1271116 1399686 151330 148624
它只有3行,第1行是此行的iRun iDate
,第2行以4001
开头,第3行以-1
开头。我只想阅读这些文本文件的第二行。另外,如果我清楚地阅读它们,我想在文本文件中写下所有79个文本文件的第二行。
答案 0 :(得分:0)
<fstream>
这非常简单。一个非常基本的程序看起来像:
#include <fstream>
#include <string>
int main() {
std::ifstream infile("indata.txt"); // Open input file
std::string lineData = "";
getline(infile, lineData); // Get first line.
getline(infile, lineData); // Get second line.
std::ofstream outfile;
outfile.open("outdata.txt", std::ios_base::app);
outfile << lineData << std::endl; // Append lineData to outfile. Creates the file if necessary.
return 0;
}
答案 1 :(得分:0)
尝试写点什么。
psuedo代码看起来像这样
open outfile
for each text file
{
open file
skip line
read line
write line to out file
close file
}
close output file
所以你要做的第一件事就是弄清楚如何枚举文件。两个选择:
其余的是简单的c ++文件io
如果这是一个实际问题(而不是类赋值),我会使用awk,perl,sed等而不是编写代码