C/C++文件输入输出问题

想问下C/C++文件的输入输出问题.

比如说数据在a.in里.你通过你程序的运算
然后输出a.out.
这是简单的.
比如一个样例.
输入:

3
12345
54321
12345

输出:

12345
54321
12345

也就是原封不动的输出.开头输入可以这样写
printf("%d",&n);
for(int i=1;i<=n;i++)
printf("%d",&a[i]);

那么如果他给的题目是这样的呢:
输入:

12345
54321
12345

输出:

12345
54321
12345

输入是不控制有多少行的,按个回车就一行. 在于你给的a.in文件有几行他就有几行,就输出几行.
这样怎么确定输入的时候什么情况才终止.
请帮忙把语句写下.

ifstream in( "filename.txt" );

while( !in.eof() ) //成员函数eof()判断文件流in是否到达文件尾
{
//处理文本的函数语句
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-09
#include <stdio.h>
#include <string.h>
void main()
{
FILE* file;
FILE* file1;
file=fopen("a.in","rb");
if (file== NULL)
{
printf("文件不存在");
return ;
}
file1=fopen("a.out","ab+");
if (file1== NULL)
{
printf("文件不存在");
return ;
}
char buffer0[255]={0};
while(fgets (buffer0, sizeof (buffer0), file)!=0)//读数据如果等0表示文件结尾
{
fwrite(buffer0,strlen(buffer0),1,file1);//写数据
}
}
第2个回答  2009-11-09
feof(fp)用于判断是否已经到达文件结尾。

getchar()==EOF,用于断续是否已经读取到结束标志(CTRL+Z输入结束标志)
相似回答