C++中如何判断一个文件输出结束

 我来答
百度网友f370d736c3
2019-12-09 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:31%
帮助的人:748万
展开全部
有很多方法可以判断。
例如
fgets
获取
整行内容,再分析
数据个数。
下面用
窥测
一个字符
的方法,判断
是否
'\n'
是否
eof
或得每行数据:

void
read_fp_one_line_int_data(int
*a,
int
*n,
file
*fp);
读1
行,数据个数
存于
n,
数据
存于
a[],
文件
fp
主程序

整个文件,读1
行,
输出
n

本行
数据。
#include
void
read_fp_one_line_int_data(int
*a,
int
*n,
file
*fp){
char
c;
int
k=0;
while(1){
c=getc(fp);
while
(c=='
')
c=getc(fp);
if
(c
==
'\n'
||
c==eof)
break;
if
((c>='0'
&&
c
<='9')
||
c
==
'-')
{
ungetc
(
c,
fp);
fscanf(fp,"%d",&a[k]);
k++;
}
};
*n=k;
}
int
main()
{
file
*fp;
int
i,n=0;
int
a[20];
fp=fopen("abc.txt","r");
//
数据文件
do
{
read_fp_one_line_int_data(a,
&n,fp);
printf("n=%d\n",n);
if
(n>0)
{for
(i=0;i
评论
0
0
加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锺离竹包亥
2019-12-16 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:33%
帮助的人:942万
展开全部
文件输入的话用eof判断
文件输出用输出流的close()标识。
比如用ifstream
ifs("xxx");读入文件。
(ifs>>x).eof()==true;//说明文件结束
比如用ofstream
ofs("xxx");写了很多东西到文件,
ofs.close();就会把缓冲区剩下的数据写入文件并加上EOF
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式