文件操作~~
1.1关于文件
文件构成--1)文件路径 2)文件名主干 3)文件后缀
1.程序文件:这一类型的文件主要用于储存程序的代码
2.数据文件(文本文件,二进制文件):此类文件的内容不是程序,而是程序运行时读写的数据
1.2操作数据文件
第一件事:打开文件--通过定义文件指针指向文件
文件指针的定义:FILE* 名字
第二件事:用文件指针指向文件fopen("文件路径","打开方式");
文件路径--绝对路径/相对路径
第三件事:文件操作--通过函数对文件中的数据进行操作
第四件事:关闭文件fclose(文件指针);
文件的使用方式
文件的顺序读写
1.3应用实例
一个小例子~~(操作流程
#include<stdio.h>
int main()
{
FILE* file;//1.定义文件指针
file=fopen("1.txt","w");//2.打开文件(打开方式可以根据需要改变喔~
if(file!=NULL)
printf("文件打开成功");//hh文件是否为空也是用NULL判断
fputc('a',file);//3.文件操作(往文件中写入一个字符a,当然这只是众多操作中的一种而已啦
fclose(file);//4.关闭文件(!!!一定要记得用完关闭文件!!!
return 0;
}
一部分文件操作指南(=.=)
1.往文件中写入一个字符
fputc('a',file);
2.往文件中写入一个字符串
fputs("abcde",file);
char str[1024]="wenjiancaozuo";
fputs(str,file);
3.往文件中输入代码中的数据
int a=10;
char str[]="ahusrjk";//代码中的数据
fprintf(file,"id:%d name:%s\n",a,str);
4.读取文件中的字符
char c;
c=fgetc(file);
5.读取文件中的字符串
char str[1024]={0};
fgets(str,6,file);//由于/0占取一个位置所以读取时取n+1,即实际读取了5个字符
6.读取整个文件
char str[10240]={0};
int x=0;
while(!feof(file))//判断文件是否读到了末尾,到了返回true,否则返回false
{
str[x]=fgetc(file);
x++;
}
7.读入文件中的数据
int a=0;
char str[10]={0};
fscanf(file,"%d %s\n",&a,str);
8.以二进制形式写入
char str[]="dhsjah";
int a=10;
fwrite(&a,//写入的东西
4,//写入的数据字节大小
1,//写入的个数
file);
9.以二进制形式读取
int a=0;
fread(&a,//读到哪里去
4,//读取字节大小
1,//读取的个数
file);
10.文件的随机读写(所谓随机读写,就是指定我们想要读写的位置)
fseek(file,
1,//移动的字节数,正数往后移动,负数往前移动
2);//从哪个位置开始移动(0--文件开头;1--文件指针当前的位置;2--文件指针末尾的位置)
fputc('A',file);//此时写入会在当前位置将原来的字符替换掉
(每次使用完一次fseek函数后,文件指针会自动向后移动一位)
11.获取文件指针的偏移量
int size=ftell(file)
//ftell函数可以返回文件指针相对于起始位置的偏移量