fget函数的用法
fgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中。
str 为字符数组,n 为要读取的字符数目,fp 为文件指针。
char *fgets(char *str, int n, FILE *stream)
返回值:读取成功时返回字符数组首地址,也即 str;读取失败时返回 NULL;如果开始读取时文件内部指针已经指向了文件末尾,那么将读取不到任何字符,也返回 NULL。
返回值
如果成功,该函数返回相同的 str 参数。如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针。
如果发生错误,返回一个空指针。
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
FILE *p;
char str[N + 1] = {0};
p = fopen("a.txt", "r");
if (p == NULL) {
printf("open file faild \n");
}
while ((fgets(str, N, p)) != NULL) {
printf("%s", str);
}
fclose(p);
return 0;
}
fgetc函数的用法
fgetc 是 file get char 的缩写,意思是从指定的文件中读取一个字符。
fgetc() 的用法为:int fgetc (FILE *fp);
fp 为文件指针。fgetc() 读取成功时返回读取到的字符,读取到文件末尾或读取失败时返回EOF。
EOF 是 end of file 的缩写,表示文件末尾,是在 stdio.h 中定义的宏,它的值是一个负数,往往是 -1。fgetc() 的返回值类型之所以为 int,就是为了容纳这个负数(char不能是负数)。
表示从a.txt
文件中读取一个字符,并保存到变量 ch 中
#include<stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char ch;
//如果文件不存在,给出提示并退出
if( (fp=fopen("a.txt", "r")) == NULL ){
puts("Fail to open file!");
exit(0);
}
//每次读取一个字节,直到读取完毕
while((ch = fgetc(fp)) != EOF ) {
putchar(ch);
}
fclose(fp);
return 0;
}