PDA

View Full Version : سوال: مشکل کد زیر چیه ؟



DLL_DLL
سه شنبه 12 آبان 1388, 21:42 عصر
HANDLE hFind;
WIN32_FIND_DATA FindData;

cout << L"A very basic FindFirst/Next demo.\n" << endl;


hFind = FindFirstFile(L"D:\\Windows\\*.exe", &FindData);
cout << FindData.cFileName << endl;



while (FindNextFile(hFind, &FindData))
{
cout << FindData.cFileName << endl;
}


FindClose(hFind);


کد زیر خروجی را آدرس فایلهارو نشون میده نه اسم فایلهارو.
مشکلش چیه ؟

Nima_NF
چهارشنبه 13 آبان 1388, 01:36 صبح
به جای cFileName از cAlternateFileName استفاده کنید.

اگر جواب نداد، از تابع GetShortPathName استفاده کنید تا اسم داده شود.

DLL_DLL
چهارشنبه 13 آبان 1388, 02:00 صبح
آقا نیما میشه مثالی با GetShortPathName بزنید ؟

Nima_NF
چهارشنبه 13 آبان 1388, 16:28 عصر
من الآن که سوال شما را دوباره نگاه کردم متوجه شدم منظور شما چه بود. اشتباها موضوع دیگری را گفتم.

شما رشته ها را با L مشخص کرده اید و یونیکد هستند، اما برای خورجی از cout که برای اسکی هست استفاده کرده اید.
پس به جای تمامی cout ها از wcout استفاده کنید.