2013-04-20 54 views
-1

這是我的輸出功能文件在C,怎麼辦輸入

void output(int n){ 

    FILE *fp; 
    fp = fopen("sqrt.txt", "w"); 
    for(int i = 1; i < n; ++i){ 
     fprintf(fp, "%.2f\n", sqrt(i)); 
    } 
    fclose(fp); 
} 

我需要做的輸入功能(它讀取輸出功能),提示用戶輸入文件名被打開。我需要打印文件的內容。如果它是一個無效的文件名,程序應該退出。

如何開始此練習?

+1

*「**如果它是一個無效的文件名**,程序應該退出**然後文件的內容被打印**。」* - 這是不可能的要求。 – 2013-04-20 23:27:22

+0

@EdS。現在試着用我的編輯來澄清我很確定他的意思。 – 2013-04-20 23:36:11

回答

1

要閱讀在C文件,使用fopen功能恰似你有什麼之前,除了傳遞rEAD而不是w儀式。要在文件打開後讀取文件,可以使用freadfscanf。該文件可以像往常一樣關閉fclose

如果你想從用戶而不是從文件中讀取,你可以使用freadstdin而不是一個文件或(對於fscanf等效)scanf

1

fopen返回一個指針,該指針可以爲null:如果是,則表示您的進程無法打開該文件。所以你必須檢查返回值fopen以知道文件是否存在(我不確定,但如果文件存在並且返回值爲NULL,那意味着你可能沒有必要的權利)。

希望它可以幫助。