C++中如何判断一个文件输出结束
展开全部
有很多方法可以判断。
例如
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
加载更多
例如
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
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询