【发布时间】:2016-07-28 15:24:52
【问题描述】:
我必须在没有\0的情况下将一个字符串放入另一个字符串,我尝试了很多方法但字符串总是很脏。
char string[100];
int pos=0;
fgets(string, 99, stdin);
len = strlen(string);
printf("%d\n", len);
char array[len-1];
for(pos=0; pos<(len-1); pos++)
{
array[j]=string[pos];
j++;
}
printf("%s", string);
printf("%s", array);
在终端我有: 狗狗(ENTER) 10(输入) 狗狗(ENTER) 狗狗@
我也尝试使用另一个符号删除\0,但它看不到'\0'或'\n',请帮帮我!
【问题讨论】:
-
所以你从字符串中删除空终止符,然后将其打印为空终止字符串......?
-
只是指出 =>
fgets(string, 99, stdin);->>fgets(string, 100, stdin);,fgets会照顾'\0'。 -
@ameyCU 你从哪里得到
scanf()? -
如果不移动\0,printf将看不到字符串的结尾,会打印垃圾。
-
请解释一下你真正想要做什么
标签: c arrays string fgets null-terminated