在 C 语言 中,printf 函数可以将内存中的数据输出到标准输出,同时,fprintf 函数 可以实现按照特定的格式将数据写入到 文件 中。
int fprintf(FILE *fp, char * format, ...);
参数 | 描述 |
---|---|
fp | 文件指针。 |
format | 格式控制字符串。 |
… | 参数列表。 |
fprintf() 返回成功写入的字符的个数,失败则返回负数。
fprintf 函数在 stdio.h 的头文件里面。
使用 fprintf 函数按照特定格式写入内容到文件
#include <stdio.h>
#include <stdlib.h>
struct Student
{
char name[10];
int age;
float score;
};
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
// 定义结构体
struct Student students[3];
// 输入学生信息
int i = 0;
for(i = 0; i < 3; i++)
{
printf("Please input student %d name, age and score: ", i+1);
scanf("%s", students[i].name);
scanf("%d", &students[i].age);
scanf("%f", &students[i].score);
}
// 打开文件
FILE *fp = NULL;
if ( (fp = fopen("c:\\haicoder.txt", "wt+")) == NULL )
{
puts("Open file failed\n");
return;
}
// 写入文件
i = 0;
for(i = 0; i < 3; i++)
{
fprintf(fp, "%s %d %f", students[i].name, students[i].age, students[i].score);
}
puts("Write file success");
fclose(fp);
return 0;
}
程序运行后,控制台输出如下:
我们首先,定义了一个 Student 结构体,该结构体有三个成员,分别为一个 字符串 类型的 name,一个 int 类型 的 age,和一个 float 类型 的 score。
接着,我们定义了一个结构体 数组,该数组有三个成员,我们使用了 for 循环 加上 scanf 函数输入了结构体信息,同时,我们使用了 fopen 函数打开了文件,并使用 fprintf 将结构体数组写入到文件中。
此时,我们打开文件,可以看到,文件中写入的内容是我们完全可以看得懂的字符串形式。
在 C 语言中,printf 函数可以将内存中的数据输出到标准输出,同时,fprintf 函数可以实现按照特定的格式将数据写入到文件中。