我想从char输入中连接strings
。
我希望用户在char EOF
之前按char键入char,然后我想pring string
。
所以目前如果我输入char
以获取'r'命中enter
并按Control + D
(我正在使用ubuntu),这就是我在屏幕上看到的内容:
r
r
�
这是我的计划:
#include <stdio.h>
#include <string.h>
int main()
{
char c = 0;
char str[127] = {'\0'};
while (c != EOF)
{
c = getchar();
strncat(str, &c, 1);
}
printf("%s\n", str);
return 1;
}
答案 0 :(得分:4)
这里有两个问题:
getchar()
返回int
。因此c
也应为int
,否则可能无法存储EOF
。
在第一次迭代中,代码尝试连接到未初始化的str
。这样做会调用未定义的行为。