我的項目有遺留的庫,它將空指針視爲空字符串。可以讓STL string :: c_str()在沒有字符串時返回NULL嗎?
但是,當我得到的std :: wstring的這樣的返回數據,
std::wstring strData;
const wchar* pStr = strData.c_str();
ASSERT(NULL == pStr); // ASSERT!!
PSTR不爲空,但是指針,wstring的點。
我可以讓std :: string在沒有字符串數據時返回NULL嗎? 現在我每包STR成員變量是這樣的:
const wchar* GetName() { // I hate this kinds of wrapping function
if (m_Name.empty())
{
return NULL;
}
return m_Name.c_str();
}
我的工作環境是 的Visual Studio 2008 SP1在Windows提前
感謝。