1

同事(我真的不使用 char* :) )做了一个错误,减少到这个:

testVar.append('\0'); //testVar is std::string

所以他基本上解决了这个问题:

testVar.append("\0");

我的问题是为什么第一个不合法?它不能被认为是0长度0终止的字符串吗?我尝试进入 VS10 std lib 实现来亲自查看,但我后悔了。:)

4

1 回答 1

6

'创建一个char文字,它与字符串 / 不同char *。一些语言将单个字符视为长度为 1 的字符串,但 C++ 将单个字符定义为原始数据类型,而字符串是字符数组。

于 2013-01-24T09:26:08.733 回答