思路:用数组读取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; }
C++ 中有个非常好用道的东西ifstream 通过它将文件读取进来
使用循环方法,用getline函数获取每内一行容的内容
将读取的每一行的内容找到第35和36位提取
通过ofstram写入新文件。
洗脚的那种崇文门出去的话很费劲。