我想从用户的键盘输入中连接两个字符串,这是我尝试的代码:
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';