feof()判断文件结尾
feof函数读取文件最后一个字符的时候依然会返回0,表明没有到达文件结尾,只有再往后读取字符(越过最后一个字符),feof()才会返回一个非零值,表示到达文件结尾。
#include <stdio.h>
#include <string.h>
int main()
{
char StrTmp[80];
memset(StrTmp,0,sizeof(StrTmp));
FILE *fp;
fp=fopen("test.txt","r");
while(!feof(fp))
{
fscanf(fp,"%s",StrTmp);
if(feof(fp))
{
break;
}
printf("%s\n\n",StrTmp);
}
fclose(fp);
return 0;
}
fread fwrite 读写文件(按照字节来计算)
feof()是检测流上的文件结束符的函数,如果文件结束,则返回非0值,否则返回0
//读取文件
while(!feof(plain))
{
//每次读16个字节,并返回成功读取的字节数
if((count = fread(dataBlock,sizeof(unsigned char),16,plain)) == 16)
{
fwrite(outdata,sizeof(unsigned char),16,cipher);
}
}
fscanf fprintf 写入文件,打印文件
/* fscanf example */
#include <stdio.h>
int main ()
{
char str [80];
float f;
FILE * pFile;
pFile = fopen ("myfile.txt","w+");
fprintf (pFile, "%f %s", 3.1416, "PI");
rewind (pFile);
fscanf (pFile, "%f", &f);
fscanf (pFile, "%s", str);
fclose (pFile);
printf ("I have read: %f and %s \n",f,str);
return 0;
}
参考博客: