我試圖從文本文件中讀取數字,但我不允許使用二進制文件。 我試過兩種方法來做到這一點,並且都返回了一個奇怪的結果。嘗試從文件中讀取數字時出現奇怪的數字
第一種方法:
char *theNumber;
int i = 0;
while(data>>text)
{
theNumber[i] = text;
i++;
}
返回一些奇怪的重音字符。 第二
int theNumber;
while(data>>text)
{
theNumber = text; // I tried theNumber<<text; as well
}
當我清點這一次它返回時,文本文件包含123
string filename;
char text;
int p; //first prime number
int q; //second prime number
unsigned long long toBeEncrypted;
cout<<"Enter name of file to encrypt: ";
cin>>filename;
ifstream data;
ofstream encryptedData;
encryptedData.open("RSA_cipher.txt");
cout<<"Please enter two prime numbers:"<<endl;
p = getPrime(1);
q = getPrime(2);
//doing stuff with file
int theNumber;
data >> theNumber;
//int i = 0;
/*while(data>>text)
{
theNumber[i] = text;
i++;
}*/cout<<theNumber;
... //無關的其他的東西,一些大數量的結果問題
我打錯了,我的意思是1 =符號。該代碼沒有c/p'd,我手動鍵入它抱歉。我試着用'data >> number'做你的方法,並且它仍然打印出一長串數字 – SemicolonExpected 2013-03-07 21:33:09
@ArcaneExplosion:什麼時候打印?你如何存儲號碼?你還在使用'text'和'theNumber'嗎? 「text」的定義是什麼?從你的問題文本中看不到很多東西。嘗試在那裏放一個你正在使用的代碼的簡短,完整的例子。否則,我會解決你沒有的問題,而不是解決你有的問題 – 2013-03-07 21:35:24
不,我沒有使用整個while循環,而只是執行'data >> theNumber',並在錯誤檢查後立即打印出來目的。在第二個例子中'theNumber'是'int' – SemicolonExpected 2013-03-07 21:36:54