Partage
  • Partager sur Facebook
  • Partager sur Twitter

fonction open en c

    5 août 2022 à 22:29:32

    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 

    • Partager sur Facebook
    • Partager sur Twitter
      5 août 2022 à 23:26:27

      Hello,

      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

      • Partager sur Facebook
      • Partager sur Twitter
        6 août 2022 à 1:17:18

        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

        • Partager sur Facebook
        • Partager sur Twitter

        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é.
        • Editeur
        • Markdown