本文目录一览:
C语言中feof的用法疑问
feof
只是“事后”检查,它不会改变文件流的状态,甚至根本不会去读文件,它只会检查相应的
FILE
结构体的
eof
标记。某种意义上,
feof
就是面向对象中的
getter
方法。
只有别的函数从文件里面读东西然后因为碰到错误于是需要的东西没有读出来,才会把
对应的
FILE
结构体
的
eof
标记设为真。
c语言 while (!feof(fp))?是什么意思啊?谢谢
feof()是文件结束检测函数,如果没有结束,返回值是0,结束了是1;
由于feof(fp)返回0才是没有结束,所以通常写成while(!feof(fp)),这样使得没有结束时进行循环;
C语言仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
扩展资料:
C语言作为一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。
不太理解C语言中的!feof(fp)?
feof是c标准函数,原型:int feof(FILE *stream)是feof函数原型,文件结束返回非0值,否则返回0。fp对应上面的文件流,!是bool取反的意思,!feof(fp)组合起来就是文件尚未结束的逻辑。
feof(fp)是什么意思?每一个字母如何解释?
feof是C语言标准库函数,其原型在stdio.h中,其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0(即,文件结束:返回非0值,文件未结束,返回0值),文件结束符只能被clearerr()清除。(这里的检测流上的文件结束符就相当于声卡检测电流信号的一个过程)
int feof(FILE *stream);
参数
流 :FILE结构的指针
注意:feof判断文件结束是通过读取函数fread/fscanf等返回错误来识别的,故而判断文件是否结束应该是在读取函数之后进行判断。比如,在while循环读取一个文件时,如果是在读取函数之前进行判断,则如果文件最后一行是空白行,可能会造成内存错误。
扩展资料
相关函数
getc()
功能:函数从流中返回一个字符值。
语法:int getc(FILE * stream)
返回值:整数值。
函数种类:“stdio.h”
内容说明:此函数和fgetc函数相似,但它是以一个宏来实现的。另外它将不止一次地计算流参数咖,这对通常的宏的规则来说是一个例外。getc是一个已经高度优化的函数,所以该函数是进行单个字符读操作的最好的函数。
参考:如fputc();fgetc();putc();fopen()。
fputs()
功能:将字符串中的内容写到指定的流中。
语法: int fputs(const char *s,FILE * stream)
返回值:整数值。
函数种类:“stdio.h”
内容说明:函数将字符串指针s所指向的字符串中的内容写到流stream中。标志结束的空字符(NULL)不写。函数也不另外增加一个换行符。只是输出字符串中的所有字符。 函数操作成功时返回值为0,否则返回非0值。
如果流是以文本形式打开的,就会对有些字符进行翻译操作。这意味着字符串可能会与文件内容之间没有一一对应的映射关系。然而,当文件以二进制打开时,不发生字符翻译,在字符串与文件内容之间存在一一对应的映射关系。
参考资料来源:百度百科-fgetc
参考资料来源:百度百科-feof