c++中怎么从一个文本文件中取出两列存入到另一文本文件中?

2024-11-23 13:02:42
推荐回答(3个)
回答1:

思路:用数组读取txt内容,对数组进行操作。我把三个文件内容都输出到屏幕了。

#include "stdafx.h"

#include

#include

#include

const int N = 5; //a.txt行数

const int M = 5; //c.txt行数

using namespace std;


int main()

{

ifstream fin("a.txt");

ofstream fo("b.txt");

char s[N][100], b[N][10],c[M][10];

int n = 0,i,j=0;

float sum = 0;

while (N - n)                                 //读取a.txt,写入b.txt

{

fin.getline(s[n], 100);

cout << s[n] << endl;

fo << s[n][34]<

n++;

}

fin.close();

fo.close();

ifstream fi1("b.txt");

ifstream fi2("c.txt");

for (i = 0; i < N; i++)                      //读取b.txt

{

fi1.getline(b[i], 10);

cout<< b[i]<

}

for (int i = 0; i < M; i++) //读取c.txt

{

fi2.getline(c[i], 10);

cout << c[i] << endl;

}

for(int i=0;i

for(int j=0;j

if (c[j][0] == b[i][0] && c[j][1] == b[i][1])

{

sum += (float)(c[j][5]-'0')/ 10;

break;

}

cout << sum << endl;

fi1.close();

fi2.close();

system("pause");

    return 0;

}

回答2:

  • C++ 中有个非常好用道的东西ifstream 通过它将文件读取进来

  • 使用循环方法,用getline函数获取每内一行容的内容

  • 将读取的每一行的内容找到第35和36位提取

  • 通过ofstram写入新文件。

回答3:

洗脚的那种崇文门出去的话很费劲。