c++ 中 string 和 const char * 中的相同和不同,遇到的坑。

#include
#include
using namespace std;

string ToString(int i)
{
	string str = std::to_string(i);
	return str;
}
int main()
{
	int i = 1024;
	string str1 = ToString(i);	  //str1 = "1024"
	string str2 = ToString(i).c_str();//str2 = "1024"

	const char * str3 = str1.c_str(); //str3 = "1024"
	const char * str4 = ToString(i).c_str();//str4 = ""; strlen = 0;
	

	return 0;
}

如果函数返回值为std::string类型,那么不要使用const char * 来接。

你可能感兴趣的:(c++ 中 string 和 const char * 中的相同和不同,遇到的坑。)