连接两个数组

Concatenating two arrays

我试图创建一个接受两个数组并将它们连接起来以创建一个新字符串的程序。这是两个字符串。

 char a[8]={"hellostr"};
 char b[8]={"HELLOSTR"};

有人能告诉我如何连接并显示这个连接后的字符串吗?我试图寻找它,但不太了解它。

您需要使用 string.h 中的 strcat() 函数。

示例算法:

  1. 定义一个数组(例如 destarr[128]足够大 来保存结果(连接的字符串)。
  2. memset()destarr0
  3. 使用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=]';
  }