1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| #include <iostream>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/convenience.hpp>
#include <fstream>
#include <windows.h>
#include <shlobj.h>
#include <algorithm>
int main()
{
try
{
char chemin_c[MAX_PATH];
SHGetFolderPath(NULL,CSIDL_APPDATA|CSIDL_FLAG_CREATE,NULL,0,chemin_c);
//On remplace les \ bidons de Windows par les / d'Unix, afin de pouvoir
//manipuler les fichiers grace aux flux de la bibliothèque standard fstream
std::replace(chemin_c, chemin_c+MAX_PATH, '\\','/');
//GetShortPathName(chemin_c, chemin_c, MAX_PATH); //J'avais essayé mais ça n'a pas marché ++
//Suppression de la racine (idem ça ne bouge rien)
//char* chemin_c2;
//for(chemin_c2 = chemin_c; *chemin_c2 != '/'; chemin_c2++);
std::cout << chemin_c << std::endl ;
boost::filesystem::path chemin_config(chemin_c); // Ca bugue là!
}
catch(std::exception& ex)
{
MessageBox(NULL, ex.what(), "Exception", MB_OK|MB_ICONWARNING);
}
return 0;
} |
Partager