2014-09-25 86 views
2

我必須在我的程序中輸入.in文件.gcc ./"file「< file.in
因爲有多個輸入需要使用While循環EOF,但是因爲這個我不能再scanf了,所以 。 這是我的程序的模擬版本。謝謝如何在使用while循環scanf後使用scanf!= EOF

#include <stdio.h> 

int main() { 
    int arr[100]; 
    int num; 
    int count = 0; 
    while(scanf("%d", &arr[count]) != EOF) { 
     count++; 
    } 
    printf("%d\n", arr[0]); 
    scanf("%d", &num); 
    printf("%d\n", num); 
} 
+1

試着用'fscanf' – 2014-09-25 09:29:25

+0

什麼是「多個輸入」 - 在輸入文件中有多個號碼(或號碼的多行)或多個文件可讀? – CiaPan 2014-09-25 09:34:16

+0

哦對不起,我沒有那麼清楚,只是多於一行的輸入。所以一個數字列表。 – Sarc 2014-09-25 09:35:31

回答

1

試試這個

freopen("con:", "r", stdin);//this for windows. "/dev/tty" for *nix ? 
scanf("%d", &num); 
+0

爲什麼強制從控制檯讀取?示例顯示OP要從文件讀取... – CiaPan 2014-09-25 09:45:41

+1

@CiaPan我不這麼認爲。它已完成讀取,直到文件輸入的EOF。 – BLUEPIXY 2014-09-25 09:50:09

+0

看到第一行的結尾:'./"file「 CiaPan 2014-09-25 10:24:45