Originariamente inviato da shodan
*Standing ovation*![]()
![]()
... quasi... se usi i generic text mappings devi includere tchar.h, specificare _tmain al posto di main e usare, a seconda delle impostazioni di carattere, cout o wcout (operazione che puoi semplificare con una macro).Originariamente inviato da gianvituzzi
ok, quindi il codice corretto è questo:
D'altra parte se intendi compilare solo per Unicode puoi invece usare direttamente i wchar_t, wcout e wcin.codice:#include <iostream> #include <string> #include <cstdlib> #include <TCHAR.h> #include <shlobj.h> #ifdef _UNICODE #define tcout wcout #define tcin wcin #else #define tcout cout #define tcin cin #endif int _tmain() { TCHAR szPath[MAX_PATH] = {0}; HRESULT res = SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA|CSIDL_FLAG_DONT_VERIFY, NULL, 0, szPath); std::tcout << szPath << std::endl; std::cout<<_T("Premere Invio per continuare... "); std::tcin.sync(); std::tcin.ignore(); return EXIT_SUCCESS; }
PathAppend; dai un'occhiata anche alle altre Shell Lightweight API, spesso sono di grande comodità.solo una cosa, se volessi poi aggiungere il nome di un file o cmq un percorso aggiuntivo c'è una funzione speciale che magari si occupa di tradurre le varie slash e gli spazi nel nome oppure devo fare tutto a mano?

Rispondi quotando