C语言可以对文件进行操作,建立文件、打开文件、关闭文件、读写内容等。
1.FILE 定义文件指针。比如:FILE *fp;
2.fopen("文件的路径",打开方式"),打开一个文件,函数有两个参数,第一个参数是文件路径。有默认路径和绝对路径,如果在第一个参数里直接写文件名,编译器会在当前的工程目录下新建一个文件(取决打开文件的方式),也就是编译器会自己默认的文件路径是在当前的工程目录。第二种是绝对路径,格式是:磁盘:\\文件名\\文件名...\\文件名加文件类型,比如:D:\\add.text,文件路径就是D盘的add文件。
3.fclose(指定文件),关闭文件,以释放相关资源,避免数据丢失。
4.fprintf(指定文件, 数据流,参量表),格式化输出到一个流文件中,使得信息输出到指定的文件。
文件的打开方式:
序号 | 符号 | 说明 |
1 | r | 以只读方式打开文件,只允许读取,不允许写入,该文件必须存在 |
2 | r+ | 以读/写方式打开文件,允许读取和写入,该文件必须存在 |
3 | rb+ | 以读/写方式打开一个二进制文件,允许读/写数据 |
4 | rt+ | 以读/写方式打开一个文本文件,允许读和写 |
5 | w | 以只写方式打开文件,若文件存在则长度清为0,即该文件内容消失,若不存在则创建该文件 |
6 | w+ | 以读/写方式打开文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件 |
7 | a | 以追加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留(EOF符保留) |
8 | a+ | 以追加方式打开可读/写的文件。若文件不存在,则会建立该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(原来的EOF符 不保留) |
9 | wb | 以只写方式打开或新建一个二进制文件,只允许写数据 |
10 | wb+ | 以读/写方式打开或建立一个二进制文件,允许读和写 |
11 | wt+ | 以读/写方式打开或建立一个文本文件,允许读写 |
12 | at+ | 以读/写方式打开一个文本文件,允许读或在文本末追加数据 |
13 | ab+ | 以读/写方式打开一个二进制文件,允许读或在文件末追加数据 |
直接新建一个文件
例如:
#include<stdio.h>
#include<windows.h>
#include <stdlib.h>
int main()
{
FILE *fp;
if((fp=fopen("add","w"))==NULL)
{
exit(0);
}
else
printf("Open File success!\n");
system("pause");
return 0;
}
将内容写到指定文件中并打印输出到屏幕
例如:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
char ch[100];
if((fp=fopen("add.txt","r+"))==NULL){
printf("Cannot open the file...");
exit(1);
}
for(int i=0;i<10;i++){
fprintf(fp,"The count number is %d\n",i+1);
}
fclose(fp);
if((f=fopen("add.txt","r+"))==NULL){
printf("Cannot open the file...");
exit(1);
}
printf("File content is--\n");
printf("\n...............print the strings..............\n\n");
while(!feof(fp)){
fgets(ch,100,fp);
printf("%s",ch);
}
fclose(fp);
return 0;
}