Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将二维数组中的每个字符串复制到一维数组中_C_String - Fatal编程技术网

C 将二维数组中的每个字符串复制到一维数组中

C 将二维数组中的每个字符串复制到一维数组中,c,string,C,String,我想获取二维数组中的每个字符串,并将其连接到单独的一维字符串数组。我已经能够从2D数组中提取每个字符串,但我无法将其与1D数组连接起来 如果Dimen2是包含字符串“apple、orange、grapes”的2D数组 我想获得一个1D数组Dimen1,其中包含“AppleRangeGrapes” 我想用C来做这件事。这可能就是你要找的 #include <stdio.h> #include <string.h> #define MAX 32 main() {

我想获取二维数组中的每个字符串,并将其连接到单独的一维字符串数组。我已经能够从2D数组中提取每个字符串,但我无法将其与1D数组连接起来

如果Dimen2是包含字符串“apple、orange、grapes”的2D数组

我想获得一个1D数组Dimen1,其中包含“AppleRangeGrapes”


我想用C来做这件事。

这可能就是你要找的

#include <stdio.h>  
#include <string.h>  
#define MAX 32

main()
{
    char Dimen2[MAX][MAX] = {"blah","blah","blah"};
    char Dimen1[MAX*MAX] = ""; //initalise so safe to pass to strcat
    int i;
    for(i = 0; i<MAX;i++)
    {
       strcat(Dimen1,Dimen2[i]);
    }
    printf("%s",Dimen1);
}
#包括
#包括
#定义最大32
main()
{
char Dimen2[MAX][MAX]={“诸如此类”、“诸如此类”、“诸如此类”};
char Dimen1[MAX*MAX]=“”;//初始化以便安全地传递到strcat
int i;

对于(i=0;i您的问题是什么?阅读教程,尝试一下,当您有明确的问题时再回来。我想到了三个标准函数:
strcat()
strcpy()
,和
asprintf()
。如果可以,请使用后者,因为其他两个会很容易溢出您传递给它们的缓冲区。请阅读它们的手册页。我尝试过使用strcat()。我使用了-strcat语句(Dimen2[0],Dimen1)。当我这样做时,一个空格连接到Dimen1@cmasterIf
strcat()之后有一个空格
然后在
strcat()之前有一个空格。
可能不可见,但这些函数从未发明字符。因此请检查源字符串。使用
printf(\%s\”,Dimen2[0]);打印可能有助于调试。