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

C 語言字符寫入函數 fputc 詳解:從鍵盤輸入到文件複製的完整實戰

     編輯:關於C語言

fputc 原型與行為

int fputc(int ch, FILE *fp);
  • 寫入單字符至 fp 指向文件
  • 文件模式:"w"、"w+"、"a"、"a+"("w" 會截斷舊文件,"a" 追加保留)
  • 每寫一字符,內部位置指針後移 1 字節
  • 返回值:成功返回寫入字符,失敗返回 EOF

範例 1:鍵盤輸入一行 → 文件 → 讀回顯示

FILE *fp = fopen("string", "wt+");
char ch;
printf("input a string:\n");
ch = getchar();
while (ch != '\n') {
    fputc(ch, fp);
    ch = getchar();
}
rewind(fp);                    // 指針歸零準備讀回
while ((ch = fgetc(fp)) != EOF)
    putchar(ch);
fclose(fp);

範例 2:命令行參數文件複製(支援標準輸出)

int main(int argc, char *argv[]) {
    FILE *fp1, *fp2;
    char ch;
    if (argc == 1) { puts("need filename"); return 0; }
    fp1 = fopen(argv[1], "rt");
    fp2 = (argc == 2) ? stdout : fopen(argv[2], "wt+");
    while ((ch = fgetc(fp1)) != EOF)
        fputc(ch, fp2);
    fclose(fp1); fclose(fp2);
    return 0;
}

用法:

  • prog string → 顯示 string 內容
  • prog string ok → 將 string 複製到 ok

關鍵細節

  • stdout 是預定義 FILE*,指向控制台
  • 循環條件 (ch = fgetc(fp1)) != EOF 兼具讀取與判斷
  • 文本模式下換行符自動轉換(Windows \r\n↔\n)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved