所以我知道這是一個很長的標題,但我會盡量分解它。從文件讀取多個整數,將它們轉換爲二進制文件,然後將它們打印到屏幕上的指導?
我想創建一個C程序,它將從.txt文件中讀取未確定數量的整數(假設文件只包含整數,每個整數由一個新行分隔),之前然後將其轉換爲二進制形式,然後將其導出到屏幕上。
我試圖創建程序一步一步,到目前爲止,我已經設法創建一個程序,它可以轉換爲二進制,但只能從一個用戶輸入的整數(見下面的代碼)。
#include<stdio.h>
int main(){
long int integerInput,quotient;
int binaryNumber[100],i=1,j;
printf("Enter any integer: ");
scanf("%ld",&integerInput);
quotient = integerInput;
while(quotient!=0){
binaryNumber[i++]= quotient % 2;
quotient = quotient/2;
}
printf("Equivalent binary value of integer %d: ",integerInput);
for(j = i -1 ;j> 0;j--)
printf("%d",binaryNumber[j]);
return 0;
}
我真的不知道如何有效地讀取數字並將它們逐一轉換。我已經嘗試了一個for循環,如下所示,包含10個不同整數的測試文件(我已經聲明瞭該文件並使用必要的File I/O打開它)。
我嘗試使用for循環編輯上面的代碼,但這似乎沒有幫助 - 它只是產生隨機序列。
for(k=0;k<10;k++)
{
fscanf(test, "%d", &decimalNumber);
.... // rest of above code is inserted here, minus the scanf and prompts for user to enter a number
return 0;
}
任何幫助深表感謝!
什麼是你的fscanf後得到的結果?嘗試在scanf之後添加printf以顯示您讀取的值。並驗證您的文件的結構。 – Mimouni
發佈整個有問題的'main'而不是描述它將有助於避免「你做了這件事」和「你做了那件事」這麼長的序列。 – molbdnilo
你發佈的代碼工作正常。而不是描述_doesn't_ work發佈的代碼。 –