我试图从文本文件中读取数字,但我不允许使用二进制文件。 我试过两种方法来做到这一点,并且都返回了一个奇怪的结果。尝试从文件中读取数字时出现奇怪的数字
第一种方法:
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