Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1258 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Créer un répertoire en c++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un répertoire en c++

n°2162189
jpass2
Posté le 01-11-2012 à 15:13:28  profilanswer
 

Bonjour :)
 
Je suis un programmeur amateur de passage. J'aimerai créer un répertoire en c++.
Je travail sous Dev-C++ 4.9.9.2.
 
J'ai lu différentes documentations tel que cela, cela ou cela mais je n'arrive pas faire ce que je souhaite, à avoir :
 
Créer un répertoire sur un disque WIndows puis un chemin réseau Windows avec une variable.
 
J'ai réussi à créer un répertoire comme ceci :
 
Appel à DOS :

Code :
  1. system ("mkdir mon_repertoire_DOS" );


 
Autre sans variable :

Code :
  1. CreateDirectory("mon_repertoire_sans_variable",NULL);


 
Autre avec variable :

Code :
  1. string ma_variable="mon_repertoire_avec_variable";
  2. CreateDirectory(m_variable.c_str(),NULL);


 
 
Mais ce que j’aimerai faire :
 
Créer un répertoire dans un chemin souhaité, par exemple :
Algo possible :

Code :
  1. string ma_variable="mon_repertoire_avec_variable";
  2. CreateDirectory("C:\chemin\",m_variable.c_str(),NULL);


ce qui donnerai la création du répertoire C:\chemin\mon_repertoire_avec_variable
 
 
J'aimerai aussi faire la même chose sur un chemin réseau, par ex, algo possible :

Code :
  1. string ma_variable="mon_repertoire_avec_variable";
  2. CreateDirectory("\\mon_serveur\chemin_reseau\",m_variable.c_str(),NULL);


ce qui donnerai la création du répertoire \\mon_serveur\chemin_reseau\mon_repertoire_avec_variable
 
 
Voilà, j'espère avoir été clair.
Merci à vous   :jap:  
 
 
 

mood
Publicité
Posté le 01-11-2012 à 15:13:28  profilanswer
 

n°2162198
Terminapor
I'll see you rise.
Posté le 01-11-2012 à 16:49:12  profilanswer
 

Si j'ai bien compris, tu cherches à concaténer ?
 
Dans ce cas, suffit de faire ça :  
 

Code :
  1. string ma_variable = "mon_repertoire_avec_variable";
  2. string chemin = "c:\chemin\"+ma_variable;
  3. // ou
  4. string chemin = string("c:\chemin" ) + ma_variable;
  5. mkdir(chemin.c_str());


 
La classe string a son opérateur '+' surchargé, donc un '+' entre 2 strings (std::string, pas de char*) ça permet de concaténer tes deux chaines.


---------------
Perhaps you don't deserve to breathe
n°2162203
gilou
Modérateur
Modzilla
Posté le 01-11-2012 à 18:53:15  profilanswer
 

Euh, pour les \ dans les chaines en C ou C++, n'oubliez pas de les doubler:
"C:\\chemin\\"
et
"\\\\mon_serveur\\chemin_reseau\\"
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2162209
jpass2
Posté le 01-11-2012 à 19:19:19  profilanswer
 

Parfait !!!  
J'ai arrangé mon code grâce à cela mais c'est ce que je voulais, merci bien Terminapor !
Par contre, pour le chemin racine, il refuse le C:\ alors c'est soit :
\\chemin ou c:chemin
 
Et si je souhaite ouvrir un chemin réseau vers un serveur de partage Windows ?? Par exemple  \\mon_serveur\chemin_reseau\
 Merci encore :D
 
EDIT : Je n'ai pas vu le message de gilou, je testerais tout à l'heure !!!


Message édité par jpass2 le 01-11-2012 à 19:20:02
n°2162212
jpass2
Posté le 01-11-2012 à 19:36:01  profilanswer
 

Alors j'ai fais :
 

Code :
  1. string rsx="\n\\\\192.168.1.15\\Temp\\cool\\";
  2. cout <<  rsx;
  3. mkdir(rsx.c_str());


 
=> Il ne se passe rien.
 
PS : Après vérification, la création d'un répertoire est possible en manuel.
 
(edit : orthographe)


Message édité par jpass2 le 02-11-2012 à 08:55:52
n°2162221
gilou
Modérateur
Modzilla
Posté le 01-11-2012 à 20:21:12  profilanswer
 

Citation :

string rsx="\n\\\\192.168.1.15\\Temp\\cool\\";


C'est quoi ce \n en début de chaîne?
Il faut faire
string rsx="\\\\192.168.1.15\\Temp\\cool\\";
si vous voulez créer un répertoire \\192.168.1.15\Temp\cool\
(Si tant est que le répertoire \\192.168.1.15\Temp\ est déjà monté avec les bon droits d'accès en création)
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Créer un répertoire en c++

 

Sujets relatifs
créer un index des fichiers d'un répertoireBatch créer un nouveau répertoire et y copier des données
Systeme qui serait capable de créer un répertoire avec la date du jourcréer un répertoire
comment creer un repertoire avec asp.net/c#Créer un répertoire sur C: reprenant le nom du CD inséré
créer un répertoire en javacreer des repertoire sous dos
[PHP] Créer un cookie dans un repertoire et l'utiliser ailleursCréer automatiquement (sous dos) repertoire avec date [RESOLU]
Plus de sujets relatifs à : Créer un répertoire en c++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR