Привет всем, помогите новичку
неработает код пишет что: мол так и так не могу найти файл или прочитать его с диска, хотя если pFrom указывать прямым текстом например C:\\folder\\*.*\0 чистит все, а вот в локал дата неработает, прбовал в двумя нулями пробовал по разному не работает, проверял на доступность файла в ручную все доступно, удаляется без проблем. конролировал путь через messagebox все вроде правильно но правдо пути(только что обратил внимание) он отображет с одним слешем может в это то и проблема? пожалуйста объясните как заставить код работать...
char pth1[MAX_PATH] = "";
SHGetSpecialFolderPathA(NULL, pth1, CSIDL_LOCAL_APPDATA, FALSE);
std::stringstream path_cache_S1;
path_cache_S1 << pth1<< "\\sc\\Cache\\*.*\0";
SHFILEOPSTRUCT sh;
ZeroMemory(&sh, sizeof(SHFILEOPSTRUCT));
sh.pFrom = ru_wstring(path_cache_S1.str()).c_str();
sh.fFlags = FOF_FILESONLY|FOF_NOCONFIRMATION;
sh.wFunc = FO_DELETE;
SHFileOperation(&sh);
MessageBoxW(NULL,ru_wstring(path_cache_S1.str()).c_str(),ru_wstring(path_cache_S1.str()).c_str(), 1);
функция ru_wstring
std::wstring ru_wstring(const std::string &s) {
std::wstring result;
std::locale loc("russian_Russia.1251");
result.reserve(s.size());
const std::ctype<wchar_t> &facet = std::use_facet<std::ctype<wchar_t> >(loc);
for (std::string::const_iterator i = s.begin(); i != s.end(); ++i)
result.append(1, facet.widen(*i));
return result;
}
04.06.11 17:42: Перенесено из 'C/C++'