c语言——文件的处理
一、文件的创建
1.需要用到头文件#include<stdlib.h>;
2.文件结构类型需要用到FILE来定义;
3.文件的打开,
文件的打开,fp = fopen(“f1.txt”,“w”)。
可以再打开文件中加一个判断,确定文件是否被打开,
例,if((fp = fopen(“f1.txt”,“w”)) == NULL)
{
printf(“can not open this file \n”);
exit(0);
}
二、文件的输入、输出
1.文本文件的输入输出:fscanf fprintf(例:fscanf(fq,"%s",str) ;注意%s输出字符串,遇到空格式自动结束输出)
fputs fgets(例,fgets(str,30,fq);从fq文件中输出到str中最多30个元素 )
fputc fgetc(例,ch=fputc(fq);从fq文件中读取一个字符到ch中)
二进制文件的出入输出: fread fwrite 例,fread(数据区首地址,每次读取的字节数,读取次数,文件指针)具体代码 fread(&stu,sizeof(stu),1,fq))
三、文件位置指针的确定,修改
1.fseek()文件指针定位函数
fseek(fq,-7L,1); 可以移动文件指针;
fseek(文件指针,移动指针的量(正负可表示移动方向),1(0,1,2分别标识从文件首地址 当前位置 文件末尾也可用SEEK_SET,SEET_CUR,SEEK_END表示))
2.rewind() 文件指针返回到文件的首地址
3.ftell()返回文件位置指针的当前位置
返回文件的当前位置;
4.feof(文件指针) 用于判断文件是否已经到达文件末尾
该函数只用于文本文件不能用于二进制文件
四、文件的关闭
1.fclose(fq)函数关闭文件;
代码:文本文件操作完整如下
// An highlighted block
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp,*fq;
char str[30];
if((fp = fopen("f1.txt","w")) == NULL)
{
printf("can not open this file \n");
exit(0);
}
fprintf(fp,"Hello World! ");
fclose(fp);
if( (fq=fopen("f1.txt","r")) == NULL)
{
printf("can not open this file \n");
exit(0);
}
//%s 字符串的输出当遇到空格式 会被阻止输出
fscanf(fq,"%s",str) ;
printf("%s\n",str);
printf("输出当前文件指针地址%d\n",ftell(fq));
//此时指针指向了Hello后边
// rewind()函数可以使文件指针指向文件首地址
rewind(fq);
printf("输出当前文件指针地址%d\n",ftell(fq));
fgets(str,30,fq);
puts(str);
//feek()函数可以使文件指针移动
fseek(fq,-7L,1);
fgets(str,30,fq);
puts(str);
fclose(fq);
/**/
return 0;
}
要加油哦! 朋友!
2020年春末,本是万物复苏时节,安阳林州突然下起了雪,把所有刚开花的油菜,野花都被覆盖了一层,但他们依然活了下来,雪融化成了水并且滋养了他们!