在这个示例程序中,为了说明这种行为strcpy()
,我将一个字符串"S"
写入了一个更大的字符串previous
,原来的字符串"Delaware"
。但是这种覆盖只影响原始字符串中的前两个字符。原始字符串的其余部分继续具有相同的值。如何处理?(甚至memcpy()
似乎可能有相同的行为)。我的意思是,如何将剩余的字符变成0
?或者字符串中保留其原始值的其余字符没有副作用?
#include<stdio.h>
#include<string.h>
int main()
{
char previous[10]="Delaware";
printf("The character at position 4 is %c\n",previous[4]);
strcpy(previous,"S");
printf("The character at position 4 later is %c",previous[4]);
}