C语言 在堆空间中有一个字符串"abcdef"现在要把这个","插入进去。变成"ab

C语言 在堆空间中有一个字符串"abcdef"现在要把这个","插入进去。变成"abc,def" 要怎办。
最新回答
西瓜小姐

2024-10-11 11:07:56

堆空间申请需要malloc

char *p = (char *) malloc(sizeof("abcdef"));
strcpy(p, "abcdef");

要插入 先扩大空间

p = realloc(p, sizeof("abc,def" ));

然后 后移

int i;
for(i = 6; i>=3; i --)
    p[i+1] = p[i];

最后 插入

p[3]=',';
怎忘

2024-10-11 08:06:12

你得吧这个空间增大,然后吧c以后的字符都往后挪一位。