连接两个数组
Concatenating two arrays
我试图创建一个接受两个数组并将它们连接起来以创建一个新字符串的程序。这是两个字符串。
char a[8]={"hellostr"};
char b[8]={"HELLOSTR"};
有人能告诉我如何连接并显示这个连接后的字符串吗?我试图寻找它,但不太了解它。
您需要使用 string.h
中的 strcat()
函数。
示例算法:
- 定义一个数组(例如
destarr[128]
)足够大 来保存结果(连接的字符串)。
memset()
destarr
到 0
。
- 使用
strcat(destarr, a)
和strcat(destarr, b)
一个接一个地连接起来。
也就是说,
char a[ ]={"hellostr"};
被认为比
更好,更不容易出错
char a[8]={"hellostr"};
作为,
- 在前一种情况下,编译器负责根据需要分配内存,并在mind中使用空终止符。该数组可以用作 string.
- 在后一种情况下,空终止符没有空间,因此,该数组既不能被视为也不能用作 string.
strcat
函数可以使用
Header-string.h
如果你想在没有 strcat
函数的情况下做到这一点,那么你可以编写一个简单的函数 -
void concatenate(char a[], char b[])
{
int c, d;
c = 0;
while (a[c] != '[=10=]')
{
c++;
}
d = 0;
while (b[d] != '[=10=]')
{
a[c] = b[d];
d++;
c++;
}
a[c] = '[=10=]';
}
我试图创建一个接受两个数组并将它们连接起来以创建一个新字符串的程序。这是两个字符串。
char a[8]={"hellostr"};
char b[8]={"HELLOSTR"};
有人能告诉我如何连接并显示这个连接后的字符串吗?我试图寻找它,但不太了解它。
您需要使用 string.h
中的 strcat()
函数。
示例算法:
- 定义一个数组(例如
destarr[128]
)足够大 来保存结果(连接的字符串)。 memset()
destarr
到0
。- 使用
strcat(destarr, a)
和strcat(destarr, b)
一个接一个地连接起来。
也就是说,
char a[ ]={"hellostr"};
被认为比
更好,更不容易出错char a[8]={"hellostr"};
作为,
- 在前一种情况下,编译器负责根据需要分配内存,并在mind中使用空终止符。该数组可以用作 string.
- 在后一种情况下,空终止符没有空间,因此,该数组既不能被视为也不能用作 string.
strcat
函数可以使用
Header-string.h
如果你想在没有 strcat
函数的情况下做到这一点,那么你可以编写一个简单的函数 -
void concatenate(char a[], char b[])
{
int c, d;
c = 0;
while (a[c] != '[=10=]')
{
c++;
}
d = 0;
while (b[d] != '[=10=]')
{
a[c] = b[d];
d++;
c++;
}
a[c] = '[=10=]';
}