我做了类似的事情:
char* test = "HELLO";
char* test2[6] = test; //
但它不起作用,我怎么能实现呢?
答案 0 :(得分:0)
你不能用C ++复制数组,至少在没有一点帮助的情况下。在这种情况下,您需要的功能是strcpy
char* test = "HELLO";
char test2[6];
strcpy(test2, test);
另请注意,字符数组是char[]
而不是char*[]
(这是一个char指针数组)。
答案 1 :(得分:0)
您只能使用字符串文字初始化数组:
8.5.2 字符数组 [dcl.init.string]
1可以初始化窄字符类型(3.9.1),char16_t数组,char32_t数组或wchar_t数组的数组 通过一个窄字符串文字,char16_t字符串文字,char32_t字符串文字或宽字符串文字, 分别或用括号中的适当类型的字符串文字(2.13.5)。连续的人物 字符串文字的值初始化数组的元素。 [例如:
char msg[] = "Syntax error on line %s\n";
我不知道这个的基本原理,但我会猜测并说它是为了保证直接初始化不会溢出数组(当指定大小时)。