1
我试图连接具有从ARGV数组的数组(我忘了,正式的名称,输入数组?参数数组?)数组c级联问题
反正我initalize原始数组,然后我使用memcpy
将两个数组复制到新数组中。
int main(int argc, char *argv[]) {
char *args1[] = {"foo","bar"};
char **args = (char**) calloc(argc, sizeof(char*));
memcpy(args, args1, sizeof(char*) * 2);
memcpy(args + sizeof(char*) * 2, argv+1, sizeof(char*) * (argc-1));
但是当我运行这个
printf("%s %s %s\n", args[0], args[1], args[2]);
,然后运行
./test巴兹
我得到的
结果富吧(null)
所以我想弄清楚我的第二个memcpy搞砸了,但我找不到它。任何帮助?提前致谢。
叹了口气。我知道我的指针算术,所以我很愚蠢的做出这样的错误而没有注意到它。这是我最后一次从rosettacode采取指针 – 2011-01-05 22:45:24