2

我想将大约 20 个国家/地区名称保存到一个字符串中,然后将它们复制到另一个字符串中,但它总是给我一些错误,有人可以帮我吗?

这是我的代码:

char array1[30][30], array2[30][30];

这就是我将它们放入第一个数组的方式:

fscanf(fr, "%s", array1[i]);

这一切都有效,但是当我想做时:

array2[0] = array1[0];

我得到错误:

incompatible types when assigning to type 'char[30]' from type 'char *'

当我使用:

strcpy(array2[pom2], array1[i]);

它没有显示错误,但不会复制或打印出来。

4

2 回答 2

1

对于第一个错误:您不能将一个数组复制到另一个数组中。您可以只复制薪金值(在您的情况下为字符)。

如果您想将一个字符串复制到另一个字符串中,您确实必须使用该strcpy函数(或近亲,as strncpy。您应该给我们完整的代码,以便我们可以看到您调用strcpy.

于 2012-11-08T19:26:35.510 回答
1

你试过逐个字符传递吗?

for( i = 0; i < 30; i++ ){
   for( j = 0; j < 30; j++ ){
      targetArray[ i ][ j ] = sourceArray[ i ][ j ];

      /* End of the string, stop copying */
      if ( sourceArray[ i ][ j ] == '\0' ){
         break;
      }
   }
}
于 2012-11-08T19:28:03.213 回答