C 語言標準函數庫分類導覽 - stdio.h fgets()

stdio.h 中的 fgets() 從檔案一行一行的讀取資料,共需三個參數,第一個參數為儲存輸入資料的陣列,第二個參數為該行最多幾個字元,第三個參數為指向結構 FILE 的指標。



以下程式用 fgets() 取得一行文字便列印到螢幕上
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *fPtr;
    char s[50]; 
    
    fPtr = fopen("oldname.txt", "r");
    if (!fPtr) {
        printf("檔案開啟失敗...\n");
        exit(1);
    }
    
    while (fgets(s, 50, fPtr) != NULL) {
        printf(s);
    }
    printf("\n");

    fclose(fPtr);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:cfgets.c
    功能:示範 stdio.h 中函數 fgets() 的使用
    作者:張凱慶
    時間:西元2010年6月 */


編譯後執行,結果如下



您可以繼續參考


3 則留言:

匿名 提到...

hello,
printf(s) 再gcc compile時出現錯誤
應該改成print("%s",s)

Kaiching Chang 提到...

請問使用 GCC 的版本是?我這邊用 GCC 4.0.1 編譯執行都 ok 的

等我睡飽再說 提到...

while (fgets(s, 50, fPtr) != NULL)
我打這段不行,
如果我是這樣
fgets(s, 50, fPtr) 反而可以