关于char []的困惑

时间:2014-10-07 08:45:20

标签: c++

我最近开始用C ++编程,这就是我面临很多困惑的原因。 我想知道使用以下代码时出了什么问题:

char interface[20];
interface="USB01";

2 个答案:

答案 0 :(得分:1)

您不能分配这样的数组,但您可以初始化它们:

 char interface[20] = "USB01";

在C ++中你应该使用正确的C ++字符串,即std::string,而不是C风格的char *字符串:

 std::string interface;

 interface = "USB01";

答案 1 :(得分:1)

C ++语言不允许您分配数组。

但是,您可以初始化数组。语法类似,但赋值运算符与声明在同一语句中使用:

char interface[20] = "USB01";

但是,在C ++中,通常使用标准容器,如std::string而不是C字符串。这些更容易使用,并允许自然分配。

std::string interface;
....
interface = "USB01";

请注意,我们不需要预先确定为字符串预留多少空间。这只是使用标准字符串类的众多好处之一。