Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme ouverture de fichier

    5 août 2019 à 6:28:22

    bonjour, je suis actuellement en train de coder un programme qui lit un fichier du coup l'ordinateur a besoin demander à l'utilisateur le nom du fichier à ouvrir mais lorsque l'utilisateur tape en console le nom du fichier, voici ce qu'il se passe:

    la console me dit: (// nom du fichier) n’est pas reconnu en tant que commande interne

    ou externe, un programme exécutable ou un fichier de commandes. 

    du coup je ne peux pas ouvrir mon fichier vu que fopen ne saura pas le nom du fichier.

    Voici une capture d'écran de ce qu'il se passe( ne prenez en compte que le main.c, j'effacerai les autres fichiers):

     

    Si quelqu'un sait comment régler le problème, je le remercie d'avance.

    -
    Edité par Daruma 5 août 2019 à 8:01:35

    • Partager sur Facebook
    • Partager sur Twitter
      5 août 2019 à 7:18:02

      Bonjour,

      Merci de colorer votre code à l'aide du bouton Code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: cpp;">Votre code ici</pre>.

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter
        5 août 2019 à 8:00:47

        Je n'ai écrit aucun code donc je ne pense pas avoir besoin de colorer quoi que ce soit.

        A moins que c'est le mot fopen qui pose problème mais je ne pense pas que le fait de ne pas mettre ce mot en couleur va changer quoi que ce soit (c'est pas parce que je n'ai pas mis ce mot en couleur que les autres utilisateurs ne sauront pas de quoi je parle)

        -
        Edité par Daruma 5 août 2019 à 8:05:47

        • Partager sur Facebook
        • Partager sur Twitter
          5 août 2019 à 8:05:06

          Si tu n'as pas de code, il n'y a pas de programme C, donc il n'y a pas de probleme

          -
          Edité par michelbillaud 5 août 2019 à 8:05:41

          • Partager sur Facebook
          • Partager sur Twitter
            5 août 2019 à 8:11:19

            Le message juste en haut est juste une réponse à AbcAbc6 pour lui dire que je n'ai pas écrit de texte où il y'a du code(donc je n'ai pas besoin d'utilliser le </> afin de colorer un quelconque texte), le seul code que j'ai envoyé sur le texte était dans une capture d'ecran

            -
            Edité par Daruma 5 août 2019 à 8:12:15

            • Partager sur Facebook
            • Partager sur Twitter
              5 août 2019 à 8:21:42

              Bref, il te demande de ne pas mettre de capture d'écran et d'utiliser le bouton " </> " pour insérer du code, c'est plus facile après pour t'aider, comme ça on peut copier coller (et tout le tsointsoin).

              Sinon, pour ce qui est du code : j'ai l'impression que tu sors de ton programme et que quand tu écris "test.txt", ton programme n'est plus lancé, donc tu cherche à effectuer la commande "Test.txt" qui n'existe pas.
              Pourquoi "FichierALire" c'est un char et pas un tableau de char? Tu essaies de rentrer une chaîne de caractère dans un unique caractère.
              Il manque aussi un ";" à ta ligne 8

              -
              Edité par KirbXCoucou 5 août 2019 à 8:26:20

              • Partager sur Facebook
              • Partager sur Twitter

              « Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
              D. Mendeleïev

                5 août 2019 à 8:28:26 - Message modéré pour le motif suivant : Message complètement hors sujet


                  5 août 2019 à 8:28:30

                  Ok merci pour ton aide !

                  PS: j'avais fait une capture d'écran pour voir ce que dit la console en même temps que le code mais la prochaine fois je ferait séparément.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 août 2019 à 8:44:53

                    FoungnigueYeo a écrit:

                    bonjour a tous 

                    svp j'ai besoin d'aide pour mon devoir sur le langue c

                    voici le devoir:


                    Il nous faudrait le numéro de la carte et le code qui est derrière.

                    Sinon, en réalité, ce dont tu as besoin , c'est de faire toi-même le travail, qui sert à acquérir un savoir faire. Récupérer une solution toute faite et "la comprendre", ça ne marche pas. 

                    Piège : penser qu'il peut y avoir des températures negatives

                    -
                    Edité par michelbillaud 5 août 2019 à 8:50:36

                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 août 2019 à 8:53:23

                      je ne comprend pas quand tu dit le numeros de la carte et le code qui est derriere

                      • Partager sur Facebook
                      • Partager sur Twitter
                        5 août 2019 à 8:55:06

                        @MichelBillaud :
                        Ils ne comprennent pas ton humour aujourd'hui, définitivement :)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        « Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
                        D. Mendeleïev

                          5 août 2019 à 8:55:56 - Message modéré pour le motif suivant : Merci de créer votre propre sujet


                            5 août 2019 à 8:56:49

                            FoungnigueYeo a écrit:

                            pour un chaudière la température ne peut pas être négative et j'ai essayer de faire ca fait maintenant deux semaine c'est pour cela que je suis venu sur ce forum pour demander de l'aide 

                            merci a vous


                            Fais ton propre sujet et ne viens pas polluer celui de quelqu'un d'autre...
                            • Partager sur Facebook
                            • Partager sur Twitter

                            « Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
                            D. Mendeleïev

                              5 août 2019 à 9:30:56

                              Bonjour, c'est encore moi :D et même après avoir corrigé les parties où je m'était trompé(voir le message de KirbXCoucou, un peu plus haut), le programme ne marche pas.Je remercie d'avance les personnes qui répondrons

                              voici mon programme:

                              #include <stdio.h>
                              #include <stdlib.h>
                              #define TAILLEMAX 1000
                              
                              
                              int main(int argc, char *argv[])
                              {
                                int choix = 0;
                                char chaine[TAILLEMAX] = "";
                                FILE *fichier = NULL;
                                printf("1.Lire un fichier\n2.Ecrire dans un fichier\n3.Creer un fichier\n\nVotre choix ?");
                                scanf("%d",&choix);
                              
                                if (choix == 1)
                                {
                              
                                  char fichierALire[100] = "";
                                  printf("Quel fichier voulez-vous lire ?\n");
                                  scanf("%s",&fichierALire);
                                  fichier = fopen(fichierALire,"r");
                                    if (fichier != NULL)
                                    {
                                      fgets(chaine,TAILLEMAX,fichier);
                                      printf("%s\n",chaine); 
                                      fclose(fichier);
                                    }
                                    else
                                    {
                                      printf("Le fichier ne s'est pas ouvert");
                                    }
                                }
                              
                                return 0;
                              }
                              

                               En fait, je veux que l'utilisateur entre le nom du fichier qu'il veut lire en console afin que mon programme l'ouvre mais ça ne marche malheureusement pas, peut importe ce que j'écrit, le else se lance mais le if quand à lui ne se lance pas. j'ai pourtant écrit le nom du fichier de différentes manières.
                              Voici ce que m'affiche la console:

                              • Partager sur Facebook
                              • Partager sur Twitter
                                5 août 2019 à 10:22:13

                                Essaie d'ouvrir ton fichier sans passer par le scanf?
                                Juste faire
                                fichier = fopen("test.txt", "r");

                                et regarde ce que ça te dit?
                                • Partager sur Facebook
                                • Partager sur Twitter

                                « Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
                                D. Mendeleïev

                                  5 août 2019 à 13:59:23

                                  Tu as une erreur ligne 19. Une erreur habituelle...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    5 août 2019 à 14:16:01

                                    ok je vais essayer et si le sujet est fermé c'est que j'aurai réussi :D
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      5 août 2019 à 17:01:03

                                      Et en étant moins fainéant, le message serait

                                      printf("Le fichier %s ne s'est pas ouvert\n",
                                          fichierALire);

                                      Et si tu arrives à faire marcher ton programme, ce serait sympa pour les suivants que tu prennes le temps d'expliquer ce qu'était ton erreur.

                                      -
                                      Edité par michelbillaud 5 août 2019 à 17:04:29

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        5 août 2019 à 17:51:08

                                        Etant fainéant, j'aurais écrit perror(fichierALire); mais j'aurais eu plus d'infos

                                        -
                                        Edité par edgarjacobs 5 août 2019 à 18:33:58

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                          6 août 2019 à 2:40:33

                                          Malheureusement je n'y arrive toujours pas

                                          mais je pense qu'en créant un pointeur sur fichierALire, ça marchera

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            6 août 2019 à 7:15:55

                                            Bien sûr, avoir l'idee d'ajouter  un pointeur, ça marche toujours mieux que de regarder et comprendre ce qu'on te dit.

                                            -
                                            Edité par michelbillaud 6 août 2019 à 7:17:09

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              6 août 2019 à 14:49:27

                                              Je n'y arrive pas mais pour l'instant, je vais faire la partie qui écrit dans un fichier test.txt et après je créerai un fichier dans lequel j'essayerai de trouver une fonction qui permet de récupérer un fichier entré par l'utilisateur en console pour l'ouvrir

                                              -
                                              Edité par Daruma 6 août 2019 à 14:51:33

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                6 août 2019 à 14:53:07

                                                Ou peut-être  avec deux pointeurs, alors ?

                                                -
                                                Edité par michelbillaud 6 août 2019 à 14:56:55

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  6 août 2019 à 16:25:42

                                                  Dans ta ligne de commande pour gcc, il te manque les options -Wall -Wextra ---- mais ce n'est pas une raison pour ne pas lire et comprendre ce qu'on t'écrit.

                                                  Avec ces flags, tu aurais eu la warning

                                                  ---.c:19:13: warning: format '%s' expects argument of type 'char *', but argument 2 has type 'char (*)[100]' [-Wformat=]
                                                       scanf("%s",&fichierALire);

                                                  Ça t'éclaire ?

                                                  -
                                                  Edité par edgarjacobs 6 août 2019 à 16:26:04

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                                    7 août 2019 à 2:49:16

                                                    Merci pour vos réponses mais edgarjacobs, je ne comprend pas toutes les erreurs que m'affiche le compilateur , aurais- tu un site qui explique toutes les phrases d'erreur et les mots clés à utiliser dans le compilateur(cls,cd,gcc,etc...) à me proposer mais sinon je pense que ça viendra avec l'expérience.

                                                    PS: Ça fait que 2 mois que j'apprend à coder, savez en combien de temps de pratique est-ce qu'on devient à peu près à l'aise avec le codage ?

                                                    -
                                                    Edité par Daruma 7 août 2019 à 2:52:56

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      7 août 2019 à 7:43:27

                                                      Il faut voir dans l'autre sens, l'expérience elle viendra quand tu auras pris l'habitude de lire et comprendre les messages d'erreur.

                                                       Pour être à l'aise, un maçon, un plombier, un charpentier, un  cuisinier apprend son boulot pendant quelques années. Programmer, ça prend un certain temps aussi.

                                                      A defaut de comprendre TOUTES les erreurs, quel est le premier mot que tu ne comprends pas dans le message de la ligne 19 ?

                                                      -
                                                      Edité par michelbillaud 7 août 2019 à 7:52:51

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        7 août 2019 à 18:46:20

                                                        Est-ce que tu avais essayé la suggestion de michelbillaud :

                                                        printf("Le fichier %s ne s'est pas ouvert\n",
                                                            fichierALire);

                                                        En faisant ça, ça ne résout pas l'erreur, mais ça permet normalement de la comprendre.

                                                        Je trouve que corriger les erreurs d'un programme, c'est comme une enquête : il faut chercher des pistes, faire des hypothèses, etc. Une bonne méthode, c'est d'afficher les variables à des moments clés (par exemple juste après un 'scanf'). Là, avec cette suggestion, tu dois avancer : tu dois comprendre que le 'scanf' n'a pas fait ce que tu croyais qu'il ferait, et la nouvelle question est alors : pourquoi le 'scanf' n'a pas fait ce que je croyais ? Il suffit alors de l'examiner de plus près...

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          7 août 2019 à 21:34:09

                                                          En règle générale, quand on fait lire des données, il est de bon goût - pendant la phase de mise au point du programme - de faire afficher ce qui a été lu, pour avoir un moyen de vérifier que ça c'est bien passé.

                                                          Parce que si les données sont mal lues, il y a peu de chances que le traitement des données donne un résultat satisfaisant.

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          probleme ouverture de 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