Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mettre la donnée d'une variable dans l'adresse d'ouverture d'un fichier

    25 février 2006 à 13:27:06

    Bonjour,
    je souhaiterais récupéré une donnée et la mettre dans une variable (facile), mais mon problème n'est pas là je souhaiterais mettre l'information qui se trouve dans cette variable dans l'adresse d'ouverture d'un fichier:
    Pour m'expliquer regardez, bien entendu le code n'est pas correct:

    char Nom[100] = "0";
    printf("Nom d'utilisateur:");
    scanf("%s", &Nom);

    FILE* fichier = NULL;
    fichier = fopen("eia/Nom.txt", "r+");


    J'espère que vous comprendrez....

    Picxime
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      25 février 2006 à 13:29:22


      char Nom[100] = "0";
      printf("Nom d'utilisateur:");
      scanf("%s", &Nom);

      FILE* fichier = NULL;
      fichier = fopen("eia/Nom.txt", "r+");

      C'est mieux :p
      Sinon tu peux pas comme ça, c'est comme ça:

      char Nom[100] = "0";
      printf("Nom d'utilisateur:");
      scanf("%s", &Nom);

      FILE* fichier = NULL;
      fichier = fopen(Nom, "r+");
      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2006 à 13:31:23

        Citation : Ze moi

        char Nom[100] = "0";
        printf("Nom d'utilisateur:");
        scanf("%s", &Nom);

        Jamais de & quand on fait un scanf sur un pointeur et les chaines de caractères sopnt des pointeurs ...
        • Partager sur Facebook
        • Partager sur Twitter
          25 février 2006 à 13:32:10

          "Nom" est un pointeur sur Nom[0] pas besoin de & dans le scanf !
          • Partager sur Facebook
          • Partager sur Twitter
          Inkamath on GitHub - Interpréteur d'expressions mathématiques. Reprise du développement en cours.
          Anonyme
            25 février 2006 à 13:39:30

            Oui en effet j'avais pas fait attention mais j'avais recopié le code d'au dessus
            • Partager sur Facebook
            • Partager sur Twitter
              25 février 2006 à 13:44:32

              faut utiliser la fonction sprintf:

              char a[30],
              c = "Nom";
              sprintf(a, "eia/%s.txt", c);
              • Partager sur Facebook
              • Partager sur Twitter
                25 février 2006 à 13:45:54

                Merci pour la correction du code ^^ , mais si je veux que "Nom" soit dans le dossier "eia" et que son extension soi ".eia" sans que l'utilisateur n'est à taper "eia/nom.eia"?
                • Partager sur Facebook
                • Partager sur Twitter
                  25 février 2006 à 13:47:20

                  Alors là il faut faire une concatenation , wait...

                  #define TAILLE_MAX_TAB 100

                  char NomDuFichier[TAILLE_MAX_TAB], Ext[5]=".eia";
                  // etc...
                  scanf("%s", NomDuFichier);
                  strcat (NomDuFichier, Ext); // ICI LES 2CHAINES SONT CONCATENEES.
                  // etc...

                  FILE* mPointeur = fopen(eia/NomDuFichier,"w");


                  voilà...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 février 2006 à 13:48:28

                    Il faut faire un quoi???.............

                    J'ai pas tou compris ton code
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 février 2006 à 13:51:55

                      Regarde mon code, j'ai mis un commentaire en gros ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 février 2006 à 13:53:22

                        Ok j'ai compri merci beaucoup
                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 février 2006 à 13:54:26

                          Mon code est bon si le dossier existe déjà, sinon il faut le crée, pour faire ca, rien de plus simple: tu refait une demande de nom de dossier et tu l'ajoute à fopen =)

                          Pense à mettre en résolut.
                          ++
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Mettre la donnée d'une variable dans l'adresse d'ouverture d'un fichier

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