Salut à tous,

Petite question: j'écris un programme pour créer, s'il n'existe pas encore, un dossier de même nom qu'un fichier existant (OUI, il existe!!!), en supprimant l'extention. Le code est le suivant:

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
  string f = "fichier.txt";
  string d = "fichier";
  if(chdir(d.c_str()) != 0){
    // directory does not exist, try to create it...
    if(mkdir(d.c_str()) != 0){
      cerr << "ERROR: Folder " << d << " could not be created..." << endl;
      exit(1);
    }
  }
  ifstream myFile(f.c_str());
  if(!myFile){
    cerr << "File not found..." << endl;
    exit(1);
  }
  myFile.close();
exit(0);
Alors, première exécution, super, tout va bien, le dossier est créé et le programme retourne 0.

Par contre, si le dossier existe déjà, là le programme ne trouve pas le fichier et retourne 1 avec "File not found...". Quelqu'un pourrait-il m'expliquer ce qui coince?

PS: Le code marche si on remplace la parite qui teste l'existence du dossier et sa création par la fonction createDirectory sous windows!!!