阅读C语言文件,理论问题
我收到一份C语言的作业,关于在文件中读写。 我在不同的网站上读过不同的代码,也读过它们的解释。但有一个问题仍然没有答案!以下是我在不同网站上找到的通用代码:阅读C语言文件,理论问题,c,C,我收到一份C语言的作业,关于在文件中读写。 我在不同的网站上读过不同的代码,也读过它们的解释。但有一个问题仍然没有答案!以下是我在不同网站上找到的通用代码: #include <stdio.h> void main() { FILE *fp; int c; fp = fopen("E:\\maham work\\CAA\\TENLINES.TXT","r"); c = getc(fp) ; while (c!= EOF) { p
#include <stdio.h>
void main()
{
FILE *fp;
int c;
fp = fopen("E:\\maham work\\CAA\\TENLINES.TXT","r");
c = getc(fp) ;
while (c!= EOF)
{
putchar(c);
c = getc(fp);
}
fclose(fp);
}
在这里,c如何能够一个字符一个字符地读取文件??没有增量运算符。。。指针“fp”是否有助于读取代码
最后,为什么是putchar(c)代码>用于打印?为什么不使用printf(“%C”,C)代码> getc()
返回文件句柄中当前位置字节的整数值,然后将该位置前进一个字节
putchar()
C++参考
教程要点
维基百科
引用参考文档(,但在C中可能非常类似)
Get character from stream返回指定流的内部文件位置指示符当前指向的字符。然后,内部文件位置指示器前进到下一个字符
如果调用时流位于文件末尾,则函数返回EOF并设置流的文件末尾指示符(feof)
如果发生读取错误,函数将返回EOF并设置流的错误指示器(ferror)
getc和fgetc是等效的,只是getc可以在某些库中作为宏实现。有关直接从stdin读取的类似函数,请参见getchar
进一步阅读给我们带来了:
成功时,返回读取的字符(提升为int
值)
返回类型为int
,以适应特殊值EOF
,这表示失败:如果位置指示器位于文件的末尾,则函数返回EOF
,并设置流的EOF指示器(feof)。
如果发生其他读取错误,该函数也会返回EOF
,但会设置其错误指示器(ferror)
我们阅读
此函数用于在文件或错误结束时,将读取为无符号字符的字符转换为int
或EOF
等等
从文件流读取字节
/wchar\t
你看过文档了吗?你是那种打开一件设备并将手册扔进垃圾箱的人吗。那个么想知道为什么你们不能让它工作?我在网上随机阅读。不。。。。我读了整个手册:P
while (c!= EOF)
{
putchar(c);
c = getc(fp);
}
int getc ( FILE * stream );