前言
本篇详细介绍了 文件顺序读写常用函数,快来看看吧~
欢迎关注个人主页:逸狼
创造不易,可以点点赞吗~
如有错误,欢迎指出~
目录
文件顺序读写函数
fgetc函数
用于读取文件内的单个字符
示例
fputc函数
用于将单个字符写入文件中
逐个字符写入
写入26个字母
文件拷贝
写一个代码,完成将data1.txt文件的内容 拷贝一份生成data2.txt
#include<stdio.h>
int main()
{
FILE* pfread = fopen("data1.txt", "r");
if (pfread == NULL)
{
perror("fopen->data1.txt");
return 1;
}
FILE* pfwrite = fopen("data2.txt", "w");
if (pfwrite == NULL)
{
fclose(pfread);//判断为真后,要将pfread置为空指针
pfread = NULL;
perror("fopen->data2.txt");
return 1;
}
//数据的读写(拷贝)
int ch = 0;
//每读一个字符就放入ch中,直到读完为止
while ((ch = fgetc(pfread)) != EOF)
{
fputc(ch, pfwrite);//写入data2.txt文件中
}
fclose(pfread);
fclose(pfwrite);
return 0;
}
fgets函数
读取一行字符
#include<stdio.h>
int main()
{
FILE* pf = fopen("data.txt", "r");
if (pf == NULL)
{
perror("fopen->data1.txt");
return 1;
}
//读一行
//最多读num-1个字符,第num个字符放\0
char arr[20] = "xxxxxxxxxxxxx";
fgets(arr, 10, pf);
fclose(pf);
pf = NULL;
}
fputs函数
写入一行字符
#include<stdio.h>
int main()
{
FILE* pf = fopen("data.txt", "w");
if (pf == NULL)
{
perror("fopen->data1.txt");
return 1;
}
//写文件 写一行
fputs("abcdef\n", pf);
fputs("abcdef\n", pf);
fputs("abcdef\n", pf);
fclose(pf);
pf = NULL;
}
读键盘上的字符,再打印在屏幕上
fprintf函数
格式化打印在文件上 ,参数比printf 多了一个文件指针
示例
fscanf函数
示例
fwrite函数
以二进制形式写文件
示例
fread函数
以二进制形式读文件
示例
sprintf函数
将格式化数据转换成字符串
示例
sscanf函数
读取字符串并放入标准化数据中
示例
函数对比
scanf与printf
- scanf针对标准输入(键盘)的格式化输入函数
- printf 针对标准输出(屏幕)的格式化输出函数
fscanf与fprintf
- fscanf针对所有输入流的格式化输入的函数
- fprintf 针对所有输出流的格式化输出的函数
sscanf与sprintf
- sscanf 从一个字符串读取一个格式化的数据
- sprintf 把一个格式化的数据转换成字符串