前几天遇到了一个奇怪的bug,搞到最后原来是char数组和std::string之间的问题:
int main()
{
char buffer[15];
sprintf(buffer,"%d",100);
std::string lStr(buffer,15);
std::cout << lStr << std::endl;
}
这里输出肯定是有问题的,因为有效字符只有3.
所以应该:
int main()
{
char buffer[15];
sprintf(buffer,"%d",100);
std::string lStr(buffer);
std::cout << lStr << std::endl;
}
ok,就这样。