连接键盘输入中的两个字符串



我想从用户的键盘输入中连接两个字符串,这是我尝试的代码:

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);

问题是两个字符串用""连接,更清楚的是,这是输出:

a : text1
b : text2
text1
/text2

但我期望的输出是:

a : text1
b : text2
text1/text2

我该如何解决这个问题?

您可以通过在

snprintf() 行之前添加它来设置删除字符串 A 中的换行符。

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

是的,fgets 会读回车,你可以使用 scanf 代替,或者手动将最后一个字符更改为 0,例如:a[strlen(a)]='\0';

最新更新