目录
- 一,fprintf 的介绍和使用
- 1. 函数介绍
- 2. 函数使用
- 二,fscanf 的介绍和使用
- 1. 函数介绍
- 2. 函数使用
- 三,sprintf 的介绍和使用
- 1. 函数介绍
- 2. 函数使用
- 四,sscanf 的介绍和使用
- 1,函数介绍
- 2,函数使用
- 五,总结
一,fprintf 的介绍和使用
1. 函数介绍
1.1 功能:把数据以格式化的形式写入指定的输出流上。
1.2 参数:该函数的参数与 printf 函数的参数类似,只是多了一个文件流。
2. 函数使用
此时把数据以格式化的形式写入指定的输出流上
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>struct S
{char name[20];int age;float score;};int main()
{struct S s = { "张三",20,65.5f };//想把s中的数据存写在文件test.txt中FILE* pf = fopen("test.txt", "w");if (pf == NULL){perror("fopen");return 1;}//写文件 -- 是以文本的形式写进去的fprintf(pf, "%s %d %f", s.name, s.age, s.score);fclose(pf);pf = NULL;return 0;
}
结果如下:
二,fscanf 的介绍和使用
1. 函数介绍
1.1 功能:从指定的输入流上读取格式化数据。
1.2 参数:该函数的参数与 scanf 函数的参数类似,只是多了一个文件流。
2. 函数使用
此时是从文件 test.txt 中读取数据
struct S
{char name[20];int age;float score;};int main()
{struct S s = { 0 };//想从test.txt文件中把数据放入sFILE* pf = fopen("test.txt", "r");if (pf == NULL){perror("fopen");return 1;}//读文件fscanf(pf, "%s %d %f", s.name, &(s.age), &(s.score));//想打印在屏幕上看看printf("%s %d %f", s.name, s.age, s.score);fclose(pf);pf = NULL;return 0;
}
结果如下:
三,sprintf 的介绍和使用
1. 函数介绍
1.1 功能:把格式化的数据写入到字符串中。其实就是把格式化的数据转化成字符串了。
1.2 参数:该函数的参数与 printf 函数的参数类似,只是多了一个字符串指针。
2. 函数使用
此时把结构体中格式化的数据转化成字符串,再直接以字符串的形式打印。
struct S
{char name[20];int age;float score;};int main()
{char buf[200] = { 0 };struct S s = { "张三",20,65.5f };//把结构体中格式化的数据转化成字符串sprintf(buf, "%s %d %f", s.name, s.age, s.score);//直接以字符串的形式打印printf("%s\n", buf);return 0;
}
输出结果如下:
四,sscanf 的介绍和使用
1,函数介绍
1.1 功能:在字符串中读取格式化的数据。
1.2 参数:该函数的参数与 scanf 函数的参数类似,只是多了一个字符串指针。
2,函数使用
再把 buf 字符串中的数据读入结构体 t 中。再打印结构体t中的数据。
struct S
{char name[20];int age;float score;};int main()
{char buf[200] = { 0 };struct S s = { "张三",20,65.5f };//把结构体中格式化的数据转化成字符串sprintf(buf, "%s %d %f", s.name, s.age, s.score);//直接以字符串的形式打印printf("%s\n", buf);struct S t = { 0 };//把buf中的字符串转化成结构体t中格式化的数据sscanf(buf, "%s %d %f", t.name, &(t.age), &(t.score));//打印结构体t中的数据printf("%s %d %f\n", t.name, t.age, t.score);return 0;
}
输出结果如下: