如何让fscanf自动在文件读结束时候停止执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让fscanf自动在文件读结束时候停止执行相关的知识,希望对你有一定的参考价值。
fscanf调用成功返回1,那么如何让它自己读文件,并且在文件内容读完时候不在读了??
程序: while(fscanf(fp,"%s%s%f",&(stu[i].id),&(stu[i].name),&(stu[i].avg)) && i<5)
i++;
上面是用i<5来做结束条件,曾经试过这样的:
while(fscanf(fp,"%s%s%f",&(stu[i].id),&(stu[i].name),&(stu[i].avg)))
i++;
本来想应该可以,但是程序执行的时候确出错,一直停留在循环,那么,如何让fscanf自动在文件读结束时候停止执行?
数据量大的时候用此法保险。
while (!feof(fp))
if ( fscanf(fp...)==EOF ) break;
或:
while ( fscanf(fp,...) !=EOF )
数据量大的时候(成千上万行),不保险。 参考技术A fscanf如果读取到文件尾会返回NULL, 可以从这点判断是不是到文件尾.
while(!fscanf(stream, "format", ...));
这样就可以把一个文件的内容读取完毕.
stream是输入流, 即文件指针.
"format"是格式字符串, 即用于写%s, %d的地方.
即后面跟的不定参数. 参考技术B 检查文件是否结束,标志是EOF
WPF中想要让一个按钮单击事件结束后自动再单击这个按钮,也就是让单机事件连续反复执行,应该如何实现?
初学C#只能做到哪儿问到哪儿了
在单击事件的末尾写单击的话感觉会出错
或者有没有做一个后台进程,让它执行完单机事件后立刻重复执行的方法?
InitializeComponent();
Button btn=new Button();
btn.Click+= BtnOnClick;
private void BtnOnClick(object sender, RoutedEventArgs e)
//执行操作
BtnOnClick(null, null);
//不过你这就是个死循环啊本回答被提问者和网友采纳 参考技术B 调用单击事件相应的方法即可 参考技术C 用for循环代替就行了啊。
以上是关于如何让fscanf自动在文件读结束时候停止执行的主要内容,如果未能解决你的问题,请参考以下文章