读书人

100分请问一个简单读取文件的有关问题

发布时间: 2012-02-09 18:22:27 作者: rapoo

100分请教一个简单读取文件的问题,马上结贴!!!!!
两个文件,A文件里面是8个地址,B文件是10个词语,都是一个词一行:就是说A文件形如:北京 B文件形如:伙计
上海 大事件
广州 两全其美
.... ......
现在的要求是从A中读出一个城市,然后加上B中从头数起的5个词,组成一个String,然后写入一个文件中,然后再从B中第二个开始数起5个词,写入文件中.....依次类推,直到B中到最后五个词,这样北京就组合完毕了,然后上海又开始一轮组合。直到最后全部完成。
100分,在线等,C++

[解决办法]
/*
输出文件为 out.txt
*/

#include <fstream>
#include <string>
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
ifstream fileA( "A.txt ");
ifstream fileB( "B.txt ");
ofstream fout( "out.txt ");
string a[8], b[10], out;
int i, j, k=0;

for(i=0; i <8; i++)
getline(fileA, a[i]);
for(i=0; i <10; i++)
getline(fileB, b[i]);

for(i=0; i <8; i++)
for(j=0; j <6; j++,k=0)
{
out = a[i];
while(k <5)
{
out = out+ ' ';
out = out+b[j+k];
k++;
}
fout < <out < <endl;
}

system( "pause ");
return 0;
}
[解决办法]
因为你这个都是定格式的。所以使用stream流方式解决。
我写部分代码。
ifstream input;
ofstream output;
input读取文件之后 存放到buffer中。
输出的时候直接用stream的方式
比如读取的是 buffer
循环第2个文件,
while ()
{
output < < buffer < < buffer2 < <endl;
}
output是输出文件流,字符串不用重新组合,2次输出就可以。
stream 速度很快。

[解决办法]
定义各个CString的变量 str
三个文件指针
readfpA reasfpB writefp
然后用for 循环控制readfpB指针
每次加1还有控制是否完成
这个很简单啊
但是时间问题我不能给你源代码对不起

读书人网 >C++

热点推荐