English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C Language Basic Tutorial

C 语言流程控制

Fonctions en C

Tableaux en C

Pointeurs en C

Chains de caractères en C

C 语言结构体

C 语言文件

C 其他

C 语言参考手册

Fonctions fprintf() et fscanf() en C

写入文件: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);
}

Sortie :

我是被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);
}

Sortie :

Entrez l'id 
1
Entrez le nom 
sonoo
Entrez le salaire
120000

Ouvrez le fichier actuel à partir du répertoire courant. Pour les systèmes d'exploitation Windows, accédez au répertoire de fichiers, vous verrez le fichier emp.txt. Il contiendra les informations suivantes.

emp.txt

Id= 1
Name= sonoo
Salary= 120000