fgetc
int fgetc(FILE *fp)
功能:从文件中读取一个字符;
参数:文件流
返回值:正确为读取的字符,到文件结尾或出错时返回-1。
在这里插入代码片#include <stdio.h>
int main()
{
FILE *fp;
char buf;
int nRet;
fp=fopen("a.c","w+");
if(fp ==NULL)
{
printf("open fail\n");
return -1;
}
fputc('a',fp);
//fflush(fp);
rewind(fp);
nRet=fgetc(fp);
printf("nRet is %c \n",nRet);
nRet=fgetc(fp);
printf("nRet is %d \n",nRet);
while(1);
fclose(fp);
}
第二个nRet为-1是因为文件光标已经在末尾了。
fputc
int fputc(int c, FILE *fp)
功能:写一个字符到文件中
参数:第一个参数为要写的字符,第二个参数为文件流
返回值:成功则返回输入的字符,出错返回-1。
fputc有缓存,但是不是行缓存
#include <stdio.h>
int main()
{
FILE *fp;
char buf;
fp=fopen("a.c","w+");
if(fp ==NULL)
{
printf("open fail\n");
return -1;
}
fputc('a',fp);
fputc('\n',fp);
while(1);
fclose(fp);
return 0;
}
运行结果
a.c文件里没有a,说明存在缓存,但是不是行缓存。