我想尝试将已经存储在一个字符串数组中的部分字符串复制到另一个空数组。(我认为称为指向 char 数组的指针数组)
我想复制每个字符串的前 3 个字符并将它们存储在第二个数组中,然后将它们打印出来 - 就像这样
AAA
BBB
CCC
DDD
EEE
FFF
这是我的代码。
void main()
{
/*ARRAY 1*/
char *line1 = "AAAAA";
char *line2 = "BBBBB";
char *line3 = "CCCCC";
char *line4 = "DDDDD";
char *line5 = "EEEEE";
char *line6 = "FFFFF";
char *array1[6];
array1[0] = line1;
array1[1] = line2;
array1[2] = line3;
array1[3] = line4;
array1[4] = line5;
array1[5] = line6;
int i;
char *array_main[6];
for(i = 0; i<6 ; i++ ) {
array_main[i] = ("%*.*s\n",1,3,array1[i]);
printf("%s", array_main[i]);
printf("\n");
}
}
我需要在这里做一个 malloc 吗?(对于array_main [i])据我了解,我基本上只是将特定字符的地址复制到array_main 的元素中。
编辑 - 对不起,我应该更清楚地说明这一点,我想收集 array_main 中的字符串,然后在实际复制数据的循环之外按顺序打印它们。