2013-07-02 57 views
0

我有字符串稱爲peliculas的數​​組:字符串空間陣列中的

 string peliculas[10][4]; 

,我有一個tamanopeli是一個數字。這個數字告訴我在哪個位置新的pelicula將被添加。但問題是我需要用戶能夠用空間寫入數據。但是,如果用戶打算寫「快速fourious」,然後該程序將其保存爲

peliculas[tamanopeli][0]= fast 
peliculas[tamanopeli][1]= and 
peliculas[tamanopeli][2]= fourius 

,我需要

peliculas[tamanopeli][0] = fast and fourius 

,因爲「快,fourius」只有1串

    cout<<"wtite the name of the movie: "; 
       cin>>peliculas[tamanopeli][0]; 

       cout<<"\nwrite the gender: "; 
       cin>>peliculas[tamanopeli][1]; 

       cout<<"\nwrite first date: "; 
       cin>>peliculas[tamanopeli][2]; 

       cout<<"\n write last date: "; 
       cin>>peliculas[tamanopeli][3]; 
+0

檢查這個答案了:http://stackoverflow.com/a/5838723/336802 – chr

回答

1

您需要使用std::getline

getline(cin, peliculas[tamanopeli][0]); 
1

所以,我認爲你需要的只是cin.getline(),它可以用空格讀取一個字符串。 它可以得到一整行字符串〜

0

您正在使用cin來收集數據。 cin在第一個空白處停止閱讀。而是使用函數getline()

#include <iostream> 
#include <string> 

using namespace std; 

int main() 
{ 
string input; 
getline(cin, input); 

cout << "You entered: " << input << endl; 
} 
+0

這不是'cin'停在第一個空格,這是它的'運營商<<'那確實。畢竟,你也在'getline'中使用'cin'。 – jogojapan

+0

是的。但是getline仍然會返回並確保沒有任何東西被留下 –

+0

我沒有質疑您提出的解決方案,但是您的答案是:_cin在第一個空白處停止閱讀。這是無稽之談。 – jogojapan