前言
本篇详细介绍了 文件顺序读写常用函数,快来看看吧~
欢迎关注个人主页:逸狼
创造不易,可以点点赞吗~
如有错误,欢迎指出~
目录
文件顺序读写函数

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 把一个格式化的数据转换成字符串