0
我實際上寫了一個函數將字符串轉換爲ascii值。 但是,我設法混淆了我的自我,不明白爲什麼我自己的代碼有效。字符串ascii函數
那就是:
void convertToString()
{
char redo;
int letter;
int length;
do {
cout<< "How long is your word \n";
cin >> length;
cout << "Type in the letter values \n";
for (int x = 0; x < length; x++) {
cin >> letter;
cout << char (letter);
}
cout << "\n To enter another word hit R" << endl;
cin >> redo;
} while (redo == 'R');
}
在我可以輸入所有的ASCII值,我想了改變線的終端,但是我儘管這會導致一個問題,反正我的問題是,被擊中輸入按鈕與打空間相同?如果不是我不明白我的代碼是如何能夠打印出字符的,因爲我把它全部寫在一行中......每當有空間時,它是否爲整數「字母」賦值了一個新值?
請幫助/解釋
'是否按下輸入按鈕與打空格相同?'在這個特定的程序中,是的。在處理非空白字符之前,'ostream :: operator >>(int&)'會首先跳過所有的空格(不管是空格,製表符還是行尾)。它會停止閱讀第一個非數字(再次,這可能是一個空間或行尾等)。 – 2014-10-09 02:55:29
非常感謝!我想我現在明白了!所以它實際上在讀下一個正確的字符之前打印第一個字符? – 2014-10-09 03:47:47
我不確定您的聲明中「it」的含義。 'operator >>'在打印之前或之後肯定不打印任何東西。 – 2014-10-09 04:47:54