我最近开始用C ++编程,这就是我面临很多困惑的原因。 我想知道使用以下代码时出了什么问题:
char interface[20];
interface="USB01";
答案 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";
请注意,我们不需要预先确定为字符串预留多少空间。这只是使用标准字符串类的众多好处之一。