2013-09-29 55 views
-3

我想Concat的從用戶的鍵盤輸入兩個字符串,這是我試過的代碼:Concat的從鍵盤輸入兩串

char a[50], b[50], aAndB[100]; 
printf("\na : "); 
fgets(a, sizeof(a), stdin); 
printf("\nb : "); 
fgets(b, sizeof(b), stdin); 
snprintf(aAndB, sizeof(aAndB), "%s/%s", a, b); 
printf(aAndB); 

的問題是,這兩個字符串用「\ n串連」,更清晰,這是輸出:

a : text1 
b : text2 
text1 
/text2 

,但我期待的輸出爲:

a : text1 
b : text2 
text1/text2 

我怎麼解決這個問題 ?

+3

[您剛接受問題的答案](http://stackoverflow.com/a/19073731/2399879)回答了這個問題。 –

回答

0

您可以通過在snprintf()行之前添加此字符串來刪除字符串a中的換行符。

a[strlen(a)-1] = '\0'; 
0

是的,與fgets將讀取輸入時,可以使用的scanf代替,或者通過手,最後一個字符改變爲0,例如: 一個[strlen的(A)] = '\ 0';