2013-10-13 46 views
0

感謝您的閱讀。我是一門介紹性編程課程的新程序員,我只用了一個月的C++培訓。我試圖解決這個問題的代碼有許多方法,但是我不知道爲什麼只打印我的輸入字符串的一個詞:爲什麼我的代碼只輸出部分輸入字符串?

#include <iostream> 
#include <cstdlib> 
#include <string> 
using namespace std; 

void printThetxt(string); 
string inputText(string); 
    int main() { 
     string x; 
     printThetxt(inputText(x)); 
     system("pause"); 
      return 0; 
} 
void printThetxt(string y) { 
    cout << y << endl; 
} 
string inputText(string x) { 
cout << "Type in your string: " << endl; 
    cin >> x; 
    return x; 
} 

請告訴我爲什麼這個代碼只打印一塊輸入字符串的?謝謝!!

+0

因爲'operator >>'只能讀取空格。 – 2013-10-13 22:42:16

+0

當然你可以更好地提出這個問題......「部分」? :) –

+0

那我該如何解決呢?謝謝你的幫助!! –

回答

3

替換:

cin >> x; 

有:

std::getline(std::cin, x); 

因爲格式化輸入停在空白。

+0

天才。非常感謝!!!!!! –

相關問題