将char转换为字符数组

时间:2018-02-07 21:12:26

标签: c++

我做了类似的事情:

char* test = "HELLO";
char* test2[6] = test; //

但它不起作用,我怎么能实现呢?

2 个答案:

答案 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";

我不知道这个的基本原理,但我会猜测并说它是为了保证直接初始化不会溢出数组(当指定大小时)。