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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
LPWSTR test = L"variable"
Seulement j'ai besoin de concaténer deux variables, j'y arrive de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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...