1. 文件操作的基本用法
查看菜鸟教程:http://www.runoob.com/cprogramming/c-file-io.html
2. 总结
文件操作的基本流程:
C文件操作基本函数
C语言中没有输入输出语句,所有的输入输出功能都用 ANSI C提供的一组标准库函数来实现。文件操作标准库函数有:
//文件的打开操作
fopen 打开一个文件
//文件的关闭操作
fclose 关闭一个文件
//文件的读写操作
fgetc 从文件中读取一个字符
fputc 写一个字符到文件中去
fgets 从文件中读取一个字符串
fputs 写一个字符串到文件中去
fprintf 往文件中写格式化数据
fscanf 格式化读取文件中数据
fread 以二进制形式读取文件中的数据
fwrite 以二进制形式写数据到文件中去
getw 以二进制形式读取一个整数
putw 以二进制形式存贮一个整数
//文件状态检查函数
feof 文件结束
ferror 文件读/写出错
clearerr 清除文件错误标志
ftell 了解文件指针的当前位置
//文件定位函数
rewind 反绕
fseek 随机定位
- 写文件
FILE *fp;
fp=fopen("D:/fp.txt","w+");
if (fp==NULL)
{
printf("打开文件失败");
return;
}
//写入字符
//函数 fputc() 把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,如果发生错误,则会返回 EOF。
char chData;
scanf("%c",&chData);
fputc(chData,fp);
fputc('\n',fp);
//写入字符串
//函数 fputs() 把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,如果发生错误,则会返回 EOF
char szData[20];
scanf(("%s"),&szData);
fputs(szData,fp);
fputc('\n',fp);
//格式化数据写入字符串
//函数fprintf()把一个字符串写入到文件中,根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.。 fprintf()的返回值是输出的字符数,发生错误时返回一个负值。
int nData;
double lfData;
scanf("%d%lf",&nData,&lfData);
fprintf(fp,"%d\n%.2lf",nData,lfData);
fputc('\n',fp);
//关闭文件
fclose(fp);
- 读文件
FILE *fp;
fp=fopen("D:/fp.txt","r+");
if (fp==NULL)
{
printf("打开文件失败");
return;
}
//读取字符
//函数fgetc() 从 fp 所指向的输入文件中读取一个字符。返回值是读取的字符,如果发生错误则返回 EOF
char ch;
while (!feof(fp))
{
ch=fgetc(fp);
printf("%c",ch);
}
//读取字符串
//函数 fputs() 把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,如果发生错误,则会返回 EOF
char szBuff[20];
while(!feof(fp))
{
fgets(szBuff,20,fp);
printf("%s",szBuff);
}
//格式化读取字符串
//函数fscanf()从一个流中执行格式化输入,成功返回读入的参数的个数,失败返回EOF(-1)。fscanf()遇到空格和换行时结束,注意空格时也结束。这与fgets()有区别,fgets(0)遇到空格不结束。
int chBuff[20];
while (!feof(fp))
{
fscanf(fp,"%s",chBuff,20);
printf("%s",chBuff);
}
//关闭文件
fclose(fp);