C 将二维数组中的每个字符串复制到一维数组中
我想获取二维数组中的每个字符串,并将其连接到单独的一维字符串数组。我已经能够从2D数组中提取每个字符串,但我无法将其与1D数组连接起来 如果Dimen2是包含字符串“apple、orange、grapes”的2D数组 我想获得一个1D数组Dimen1,其中包含“AppleRangeGrapes”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() {
我想用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@cmasterIfstrcat()之后有一个空格
然后在strcat()之前有一个空格。
可能不可见,但这些函数从未发明字符。因此请检查源字符串。使用printf(\%s\”,Dimen2[0]);打印可能有助于调试。