C语言教程-C中的fprintf()和fscanf()
写文件:fprintf()函数
fprintf()函数用于向文件写入一组字符。它向流发送格式化输出。
语法:
int fprintf(FILE stream,const char format [, argument, ...])
示例:
#include <stdio.h>
main(){
FILE *fp;
fp = fopen("file.txt", "w");//打开文件
fprintf(fp, "Hello file by fprintf...\n");//向文件写入数据
fclose(fp);//关闭文件
}
读取文件:fscanf()函数
fscanf()函数用于从文件中读取一组字符。它从文件中读取一个单词,并在文件结束时返回EOF。
语法:
int fscanf(FILE stream,const char format [, argument, ...])
示例:
#include <stdio.h>
main(){
FILE *fp;
char buff[255];//创建字符数组以存储文件的数据
fp = fopen("file.txt", "r");
while(fscanf(fp, "%s", buff)!=EOF){
printf("%s ", buff );
}
fclose(fp);
}
输出:
Hello file by fprintf...
C文件示例:存储员工信息
让我们看一个文件处理的示例,将用户从控制台输入的员工信息存储起来。我们将要存储员工的id、姓名和薪水。
#include <stdio.h>
void main()
{
FILE *fptr;
int id;
char name[30];
float salary;
fptr = fopen("emp.txt", "w+");/* 打开文件以供写入 */
if (fptr == NULL)
{
printf("File does not exists \n");
return;
}
printf("Enter the id\n");
scanf("%d", &id);
fprintf(fptr, "Id= %d\n", id);
printf("Enter the name \n");
scanf("%s", name);
fprintf(fptr, "Name= %s\n", name);
printf("Enter the salary\n");
scanf("%f", &salary);
fprintf(fptr, "Salary= %.2f\n", salary);
fclose(fptr);
}
输出:
Enter the id
1
Enter the name
sonoo
Enter the salary
120000
现在从当前目录打开文件。对于Windows操作系统,转到TCbin目录,您将看到emp.txt文件。它将包含以下信息。
emp.txt
Id= 1
Name= sonoo
Salary= 120000