编辑这个页面须要登录或更高权限!

C 文件 fprintf()和 fscanf()

写入文件:fprintf()函数

fprintf()函数用于将字符集写入文件。它将格式化的输出发送到流。

语法:

int fprintf(FILE *stream, const char *format [, argument, ...])

#include <stdio.h> 
void main(){
   FILE *fp;
   fp = fopen("file.txt", "w");//打开文件
   fprintf(fp, "我是被fprintf写入的数据...\n");//写入数据到文件
   fclose(fp);//关闭文件
}

读取文件:fscanf()函数

fscanf()函数用于从文件读取字符集。它从文件中读取一个单词,并在文件末尾返回EOF。

语法:

int fscanf(FILE *stream, const char *format [, argument, ...])

#include <stdio.h> 
void main(){
   FILE *fp;
   char buff[255];//创建char数组以存储文件数据
   fp = fopen("file.txt", "r");
   while(fscanf(fp, "%s", buff)!=EOF){
   printf("%s ", buff );
   }
   fclose(fp);
}

输出:

我是被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("文件不存在 \n");
        return;
    }
    printf("输入id\n");
    scanf("%d", &id);
    fprintf(fptr, "Id= %d\n", id);
    printf("输入姓名 \n");
    scanf("%s", name);
    fprintf(fptr, "Name= %s\n", name);
    printf("输入薪水\n");
    scanf("%f", &salary);
    fprintf(fptr, "Salary= %.2f\n", salary);
    fclose(fptr);
}

输出:

输入id 
1
输入姓名 
sonoo
输入薪水
120000

现在从当前目录打开文件。对于Windows操作系统,请转到文件目录下,您将看到emp.txt文件。它将具有以下信息。

emp.txt

Id= 1
Name= sonoo
Salary= 120000