2011-10-30 45 views
1

我試圖在輸入之間用逗號和空格在一行上插入多個輸入。我迄今爲止使用的方法將輸入與空格分開。用C++在一行上插入多個輸入

int a, b , c ,d 
cin >> a >> b >> c >> d ; 

使用這種方法,輸入線看起來是這樣的:

1 2 3 4 

但我希望能夠像這樣輸入數據:

1, 2, 3, 4 
+0

你們是不是要進行輸入或輸出?你似乎一直在嘗試輸入,你想要執行輸出。 – Zeenobit

+0

我需要在一行輸入所有數據,而不是輸出數據。 – mmimaa

+2

在C++中獲得輸入的「正確」方法是將_whole lines_讀入「string」,然後以專門的方式解析該「string」。 – Mankarse

回答

3

>>的分隔符是不可修改的,但你可以結合ignore使用它:

std::cin >> a; 
std::cin.ignore(1, ',') 

// rinse and repeat 
0

在C/C++,你只需要這樣做:

scanf("%d, %d, %d, %d", &a, &b, &c, &d); 

Y OU只需要包括<cstdio>

1

你可以這樣做:

int main() { 
     int a,b,c,d; 
     char comma; 
     std::cin >> a >> comma >> b >> comma >> c >> comma >> d; 
     std::cout << a << " " << b << " " << c << " " << d << std::endl; 
     return 0; 
} 

輸入:

1, 2, 3, 4 

產量:

1 2 3 4 

演示:http://www.ideone.com/tXQZd

+0

您的代碼是限制性的,因爲沒有插入逗號將無法正常運行。但是如果總會有一個逗號作爲分隔符,我會使用你的代碼片段。 – mmimaa

+0

@mmimaa:是的,那是真的。但我的文章是對你的問題的回答。沒有更多,不少。 – Nawaz