您好,我在這裏遇到了我的代碼問題。FindFirstFile LPCSTR
LPCSTR mergeString(LPCSTR firstString, std::string secondString)
{
string convertedString = ConvertString(firstString);
LPCSTR mergedString;
int i = convertedString.size();
convertedString.insert(i, secondString);
mergedString = (convertedString.c_str());
return mergedString;
}
void GetFiles(LPCSTR path)
{
WIN32_FIND_DATA File_Data;
LPCSTR lPath = mergeString(path,"\\*.txt");
FindFirstFile(lPath, &File_Data);
wcout << File_Data.cFileName;
}
您傳遞的路徑要在的GetFiles(LPCSTR路徑),那麼我用mergestring功能路徑以擴展(\ *。TXT)一切正常返回的時候,除了一起合併使用LPCSTR然後它只是很多奇怪的人物,我不知道爲什麼或者是一個更好的方式來做到這一點?
這是你的主要問題:http://stackoverflow.com/questions/6441218/can-a-local-variables-memory-be-accessed-outside-its-scope – chris
根據[本文檔'c_str'方法](http://www.cplusplus.com/reference/string/string/c_str/),返回值是「只有保證保持不變,直到下一次調用非常量成員函數爲止字符串對象「。破壞對象計數爲非常量成員函數,此時'c_str'返回的值不再有效。 –