文件操作:
1.打开文件
2.读/写-----操作文件
test.c------写(输出)------->文件
test.c<------读(输入)--------文件
文件名:文件路径+文件名主干+文件后缀
文件指针:FILE* pf;//文件指针变量
//打开文件
FILE* fopen(const char* filename,const char *mode);
//关闭文件
int fclose (FILE* stream);
"r" 读文件
"w" 写文件
"a" 追加
“rb” 二进制读文件
"wb" 二进制写文件
"ab" 二进制追加
#include<stdio.h>
#include<string.h>
#include<errno.h>
int main()
{
FILE* pf = fopen("test.txt", "r");//要保证test.txt文件存在
if (pf == NULL)
{
printf("%s\n",strerror(errno));
return 1;
}
//读文件
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
字符输入函数 fgetc
字符输出函数 fputc
文本输入函数 fgets
文本输出函数 fputs
格式化输入函数 fscanf
格式化输出函数 fprintf
二进制输入函数 fread
二进制输出函数 fwrite
1.字符输入函数,输入一个字符
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<errno.h>
int main()
{
FILE* pf = fopen("test.txt", "w");//要保证test.txt文件存在
if (pf == NULL)
{
printf("%s\n",strerror(errno));
return 1;
}
//写文件,一个字母
char i = 0;
fputc('a', pf);
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
输出的结果是,创建了一个叫test.txt的文件,并且把内容'a'保存在了里面
2.字符输入函数,利用循环输入一串字符
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<errno.h>
int main()
{
FILE* pf = fopen("test.txt", "w");//要保证test.txt文件存在
if (pf == NULL)
{
printf("%s\n",strerror(errno));
return 1;
}
//写文件,一个字符串
char i = 0;
for (i = 'a'; i <= 'z'; i++)
{
fputc(i, pf);
}
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
输出的结果是,创建了一个叫test.txt的文件,并且把内容'字符串保存在了里面、
3.字符输入函数读取文件内容,读取一个字符
#include<errno.h>
int main()
{
FILE* pf = fopen("test.txt", "r");//要保证test.txt文件存在
if (pf == NULL)
{
printf("%s\n",strerror(errno));
return 1;
}
//读文件,一个字母
char i = fgetc(pf);
printf("%c",i);
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
输出的结果就是,读取的一个字符
4.字符输入函数的读取,利用循环读取一个字符串
#include<errno.h>
int main()
{
FILE* pf = fopen("test.txt", "r");//要保证test.txt文件存在
if (pf == NULL)
{
printf("%s\n",strerror(errno));
return 1;
}
//读文件,一个字符串
char i ;
while ((i = fgetc(pf)) != EOF)
{
printf("%c",i);
}
//关闭文件
fclose(pf);
pf = NULL;
return 0;
}
输出的结果就是,读取的一个字符串