bonjour, j'essaye de créer un fichier via la fonction open en c dans un autre répertoire que celui ou va se trouver l'exécutable le problème c'est que quand je donne le chemin d'un autre répertoire à la fonction open() il comprend ça comme le nom d'un fichier que je veux créer plutôt que un chemin vers une répertoire ou il doit créer je sais pas si c'est clair (je suis sur windows 11 mais j'utilise une distribution ubuntu ) file name = path name
open() ouvre un fichier (dans ton cas tomate.txt dans le répertoire"\\wsl.localhost\\....") , il ne permet pas d'indiquer un nom de répoertoire pour ensuite y ouvrir un fichier. Si tu veux changer le répertoire courant, il y a chdir().
Et, stp, pas de print screen,
- Edité par edgarjacobs 5 août 2022 à 23:27:05
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Je suis sur Windows 10 et je fonctionne avec cmd. J'ai un sous-dossier qui s'appelle "Divers" mais pas de sous-dossier qui s'appelle "Tralala". fopen ne crée pas de sous-dossier. Ils doivent déjà exister. - #include <stdio.h> #include <stdlib.h> int main(void) { FILE *f1 = fopen("Divers/zozo.txt", "w"); perror("f1"); fclose(f1); FILE *f2 = fopen("Tralala/zozo.txt", "w"); perror("f2"); fclose(f2); } - J'obtiens les messages: f1: No error f2: No such file or directory Et le fichier Divers/zozo.txt a bien été créé.
Note: sur Windows, on peut utiliser / ou \
Le double \\ c'est comme échappement pour les chaînes en C.
Et la même règle sur la création des dossiers s'applique autant que je sache avec les distributions Linux.
Je viens de constater que vous parliez de "open" et non "fopen". Mais la remarque est toute aussi pertinente pour open.
- Edité par PierrotLeFou 6 août 2022 à 3:11:58
Le Tout est souvent plus grand que la somme de ses parties.
fonction open en c
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Le Tout est souvent plus grand que la somme de ses parties.