2017-03-16 26 views
0

我在C中有一個程序,它將十進制數變成二進制數。從.txt文件獲取整數並在它們上執行perfoming動作c

int main() 
{ 
    int n, c, k; 

    printf("Enter an integer\n"); 
    scanf("%d", &n); 

    printf("%d in binary is:\n", n); 

    for (c = 31; c >= 0; c--) 
    { 
    k = n >> c; 

    if (k & 1) 
     printf("1"); 
    else 
     printf("0"); 
    } 

    printf("\n"); 

    return 0; 

} 

它帶走了我在終端寫入數據,但我想它得到integers.txt文件中的數據,這是這樣的:

101 
34 
-11 
1,5 
lorem ipsum 
33.33333 
10022 

程序應該得到的整數從txt文件中執行一個動作,將它們轉換爲二進制文件,同時應該警告1,5或lorem ipsum不是整數,不應該對它們執行操作,而應該繼續轉換其他整數。 而我有點卡在如何從.txt文件正確獲取整數並對它們進行轉換操作。

+1

從命令行運行你的程序就像這樣:'program

+2

用'fgets'逐行讀取文本文件,然後您可以檢查每行的內容,也許使用'sscanf'獲取整數。 –

+0

注意:爲了好玩,我查了一下[lorem ipsum](https://en.wikipedia.org/wiki/Lorem_ipsum)。 – chux

回答

0

您需要搜索像文件指針和fopen這樣的概念。 那些打開的模式可以讓你操縱你想要的任何模式(追加,寫入,讀取)和它們的+形式的文件。也搜索通過終端輸入它們的命令參數。 Pearson C是一本很好的指導書

相關問題