如果我有一个 char 数组,其中包含以空字节 ( ) 终止每个字符串的字符串,我将如何在末尾添加另一个字符串?

问题描述 投票:0回答:1

我有一个包含字符串的字符数组,每个字符串都以空字节结尾,例如

{'S', 't', 'r', 'i', 'n', 'g', '\0', 'a', 'r', 'r', 'a', 'y', '\0'}

我想在该数组的末尾添加一个字符串,而不删除最后的

\0
,给我(例如)
{'S', 't', 'r', 'i', 'n', 'g', '\0', 'a', 'r', 'r', 'a', 'y', '\0', 'n', 'e', 'w', '\0'}

我相信

strcat
中的
string.h
将删除最后的空字节,因此在这种情况下不起作用。

我也尝试过这个,但似乎不起作用:

char str[20] = {'S', 't', 'r', 'i', 'n', 'g', '\0'};
char new_str[6] = "Array";
str[8] = new_str;
arrays c string
1个回答
0
投票

获取指向空字节之后元素的指针,并将其用作

strcpy()
的目标。

char str[20] = {'S', 't', 'r', 'i', 'n', 'g', '\0'};
char new_str[6] = "Array";
strcpy(&str[strlen(str)+1], new_str);
© www.soinside.com 2019 - 2024. All rights reserved.