Passage de paramètre LPWSTR
Bonjour,
J'ai un petit soucis de type... enfin je crois.
Voilà je tente d'utiliser une fonction de création de dossier, jusque là tout va bien.
Code:
CreateDirectory(L"test", NULL);
Cette fonction fonctionne parfaitement, le seul problème c'est que le premier paramètre est du type LPWSTR.
Le répertoire se créer quand je rentre l'adresse en dur comme le code ci-dessus.
Il se créer aussi que j'utilise une variable déclaré comme suit :
Code:
LPWSTR test = L"variable"
Seulement j'ai besoin de concaténer deux variables, j'y arrive de cette façon :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
//Je récupère le paramètre dans un char que je transforme en string pour la concaténation
USES_CONVERSION;
char* param = W2A(GetCommandLineW());
string stringParam = param;
stringParam = "\\\\Rep_Appli/" + stringParam;
//stringParam contient ma chaine complète
//Je la convertit en char
size_t size = stringParam.size() + 1;
char * buffer = new char[ size ];
// copier la chaîne
strncpy( buffer, stringParam.c_str(), size );
//Puis la convertit en LPWSTR
LPWSTR urlDossier = A2W(buffer);
delete[] buffer;
//Création du répertoire
CreateDirectory(urlDossier, NULL); |
Ce code compile, je vois bien que la chaine correspond à ce que j'attends mais le répertoire ne se créer pas.
Je ne sais pas pourquoi cela ne fonctionne pas. Je ne sais pas d'où vient l'erreur. Si quelqu'un peut m'aider...