首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言文件順序讀寫函數:fprintf/fputs/fputc 與 fscanf/fgets/fgetc

     編輯:關於C語言

順序寫函數

函數調用格式返回值
fprintfint fprintf(FILE *stream, char *format, ...)寫入字符數;負數表示錯誤
fputsint fputs(char *string, FILE *stream)成功返回 0;非 0 失敗
fputcint fputc(int ch, FILE *stream)成功返回寫入字符值;錯誤返回 EOF(-1)

fprintf 格式規範同 printf,區別在於輸出目標為文件而非屏幕。

實例:創建測試文件

#include <stdio.h>
main() {
    char *s = "That's good news";
    int i = 617;
    FILE *fp = fopen("test.dat", "w");
    fputs("Your score of TOEFL is", fp);
    fputc(':', fp);
    fprintf(fp, "%d\n", i);
    fprintf(fp, "%s", s);
    fclose(fp);
}

文件內容:

Your score of TOEFL is: 617
That's good news

順序讀函數

函數調用格式返回值
fscanfint fscanf(FILE *stream, char *format, ...)EOF(-1) 表示錯誤;否則成功
fgetschar *fgets(char *string, int n, FILE *stream)成功返回 string;失敗返回 NULL
fgetcint fgetc(FILE *stream)返回字符值;錯誤返回 EOF

實例:讀取並顯示文件

#include <stdio.h>
main() {
    char *s, m[20];
    int i;
    FILE *fp = fopen("test.dat", "r");
    fgets(s, 24, fp);  printf("%s", s);
    fscanf(fp, "%d", &i); printf("%d", i);
    putchar(fgetc(fp));
    fgets(m, 17, fp); puts(m);
    fclose(fp);
    getch();
}

關鍵注意點

  • fscanf 遇空白符(空格、換行、制表)自動停止讀取
  • 文本模式下數字按 ASCII 讀寫,%d 與 %s 可互換讀取數字字符串
  • fgets 讀取 n-1 字符或遇換行/EOF 停止,自動添加 \0
  • 文件操作後必須 fclose 釋放資源
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved