鍍金池/ 教程/ C/ C語(yǔ)言fprintf()和fscanf()函數(shù)
C語(yǔ)言printf()和scanf()函數(shù)
C語(yǔ)言strlen()函數(shù)
C語(yǔ)言指針
C語(yǔ)言ftell()函數(shù)
C語(yǔ)言#ifdef指令
C語(yǔ)言程序執(zhí)行流程
C語(yǔ)言歷史
C語(yǔ)言fprintf()和fscanf()函數(shù)
C語(yǔ)言#define指令
C語(yǔ)言#if指令
C語(yǔ)言將數(shù)組傳遞給函數(shù)
C語(yǔ)言指針的指針
C語(yǔ)言rewind()函數(shù)
C語(yǔ)言常量
C語(yǔ)言strcat()函數(shù)
C語(yǔ)言#ifndef指令
C語(yǔ)言continue語(yǔ)句
C語(yǔ)言注釋
C語(yǔ)言#include指令
C語(yǔ)言類(lèi)型轉(zhuǎn)換
C語(yǔ)言strcpy()函數(shù)
C語(yǔ)言strlwr()函數(shù)
C語(yǔ)言while循環(huán)
C語(yǔ)言字符串
C語(yǔ)言strrev()函數(shù)
C語(yǔ)言gets()和puts()函數(shù)
C語(yǔ)言文件處理
C語(yǔ)言存儲(chǔ)分類(lèi)
C語(yǔ)言運(yùn)算符
C語(yǔ)言數(shù)據(jù)類(lèi)型
C語(yǔ)言strcmp()函數(shù)
C語(yǔ)言VS開(kāi)發(fā)環(huán)境安裝
C語(yǔ)言轉(zhuǎn)義序列
C語(yǔ)言第一個(gè)程序
C語(yǔ)言變量
C語(yǔ)言goto語(yǔ)句
C語(yǔ)言預(yù)處理器指令
C語(yǔ)言指針?biāo)阈g(shù)運(yùn)算
C語(yǔ)言數(shù)學(xué)函數(shù)
C語(yǔ)言二維數(shù)組
C語(yǔ)言for循環(huán)
C語(yǔ)言命令行參數(shù)
C語(yǔ)言通過(guò)值和引用函數(shù)
C語(yǔ)言fputs()和fgets()函數(shù)
C語(yǔ)言do-while循環(huán)
C語(yǔ)言結(jié)構(gòu)體數(shù)組
C語(yǔ)言循環(huán)
C語(yǔ)言#pragma指令
C語(yǔ)言關(guān)鍵字
C語(yǔ)言#error指令
C語(yǔ)言聯(lián)合體
C語(yǔ)言特點(diǎn)
C語(yǔ)言break語(yǔ)句
C語(yǔ)言遞歸
C語(yǔ)言函數(shù)
C語(yǔ)言結(jié)構(gòu)體
C語(yǔ)言switch語(yǔ)句
C語(yǔ)言結(jié)構(gòu)體嵌套
C語(yǔ)言fputc()和fgetc()函數(shù)
C語(yǔ)言fseek()函數(shù)
C語(yǔ)言字符串函數(shù)
C語(yǔ)言if-else語(yǔ)句
C語(yǔ)言教程
C語(yǔ)言宏
C語(yǔ)言數(shù)組
C語(yǔ)言strupr()函數(shù)
C語(yǔ)言#undef指令

C語(yǔ)言fprintf()和fscanf()函數(shù)

fprintf()函數(shù)用于將一組字符寫(xiě)入文件。它將格式化的輸出發(fā)送到流。

fprintf()函數(shù)的語(yǔ)法如下:

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

示例:

創(chuàng)建一個(gè)源文件:fprintf-write-file.c,其代碼如下 -

#include <stdio.h>  
main() {
    FILE *fp;
    fp = fopen("file.txt", "w");//opening file  
    fprintf(fp, "Hello file by fprintf...\n");//writing data into file  
    fclose(fp);//closing file  
    printf("Write to file : file.txt finished.");
}

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Write to file : file.txt finished.

打開(kāi)filehadling 目錄下,應(yīng)該會(huì)看到一個(gè)文件:file.txt 。

讀取文件:fscanf()函數(shù)

fscanf()函數(shù)用于從文件中讀取一組字符。它從文件讀取一個(gè)單詞,并在文件結(jié)尾返回EOF。

fscanf()函數(shù)的語(yǔ)法如下:

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

示例:

創(chuàng)建一個(gè)源文件:fscanf-read-file.c,其代碼如下 -

#include <stdio.h>  
main(){  
   FILE *fp;  
   char buff[255];//creating char array to store data of file  
   fp = fopen("file.txt", "r");  
   while(fscanf(fp, "%s", buff)!=EOF){  
   printf("%s ", buff );  
   }  
   fclose(fp);  
}

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Hello file by fprintf...

文件存取示例:存儲(chǔ)員工信息

下面來(lái)看看一個(gè)文件處理示例來(lái)存儲(chǔ)從控制臺(tái)輸入的員工信息。要存儲(chǔ)雇員的信息有:身份ID,姓名和工資。

示例:

創(chuàng)建一個(gè)源文件:storing-employee.c,其代碼如下 -

#include <stdio.h>  
void main()
{
    FILE *fptr;
    int id;
    char name[30];
    float salary;
    fptr = fopen("emp.txt", "w+");/*  open for writing */
    if (fptr == NULL)
    {
        printf("File does not exists \n");
        return;
    }
    printf("Enter the Emp ID:");
    scanf("%d", &id);
    fprintf(fptr, "Id= %d\n", id);
    printf("Enter the name: ");
    scanf("%s", name);
    fprintf(fptr, "Name= %s\n", name);
    printf("Enter the salary: ");
    scanf("%f", &salary);
    fprintf(fptr, "Salary= %.2f\n", salary);
    fclose(fptr);
}

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Enter the Emp ID:10010
Enter the name: Maxsu
Enter the salary: 15000

現(xiàn)在從當(dāng)前目錄打開(kāi)文件。將看到有一個(gè)emp.txt文件,其內(nèi)容如下 -

emp.txt

Id= 10010
Name= Maxsu
Salary= 15000.00