我想从用户的键盘输入中连接两个字符串,这是我尝试过的代码:
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
我该如何解决这个问题?
答案 0 :(得分:0)
你可以通过在snprintf()行之前添加它来设置删除字符串a中的换行符。
a[strlen(a)-1] = '\0';
答案 1 :(得分:0)
是的,fgets将读取回车,您可以改为使用scanf,或者手动将最后一个字符更改为0,例如: 一个[strlen的(A)] = '\ 0';