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

C語言文件操作:fgets 讀字符串與 fputs 寫字符串詳解

     編輯:關於C語言

fgets — 讀取字符串

char *fgets(char *str, int n, FILE *fp);
  • 從 fp 讀取最多 n-1 字符到 str
  • 遇換行符、EOF 提前結束
  • 自動在末尾添加 \0
  • 返回:成功返回 str,失敗/EOF 返回 NULL

實例:讀取文件前 10 字符

#include <stdio.h>
main() {
    FILE *fp;
    char str[11];
    if ((fp = fopen("e10_1.c", "rt")) == NULL) {
        printf("Cannot open file...");
        getch(); exit(1);
    }
    fgets(str, 11, fp);
    printf("%s", str);
    fclose(fp);
}

fputs — 寫入字符串

int fputs(char *str, FILE *fp);
  • 將字符串(常量/數組/指針)寫入 fp
  • 不自動添加換行符
  • 成功返回 0,失敗返回非 0

實例:追加字符串到文件

#include <stdio.h>
main() {
    FILE *fp;
    char ch, st[20];
    if ((fp = fopen("string", "at+")) == NULL) {
        printf("Cannot open file..."); getch(); exit(1);
    }
    printf("input a string:\n");
    scanf("%s", st);
    fputs(st, fp);
    rewind(fp); // 指針回文件開頭
    ch = fgetc(fp);
    while (ch != EOF) {
        putchar(ch);
        ch = fgetc(fp);
    }
    printf("\n");
    fclose(fp);
}

關鍵區別總結

特性fgetsfputs
方向文件 → 內存內存 → 文件
換行處理讀取並保留不添加
結束符自動加 \0不處理
返回值指針/NULL0/非0

配合 rewind、fgetc/putchar 可實現文件內容回顯驗證。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved