Partage
  • Partager sur Facebook
  • Partager sur Twitter

lire dans un fichier

Sujet résolu
    27 octobre 2018 à 16:49:59

    bonjour a tous

    j'ai un fichier qui ressemble a ca

    Paul

    12

    Jean

    18

    je voudrai récupérer les nom dans un tableau de char

    et les nombre dans un int

    std::ifstream file("../Files/truc.txt", std::ios::in);
    
    if (file.fail())
    {
    	return false;
    }
    
    do
    {
    	char a[sizeName];
    	int b;
    
    	file.getline(a,sizeof(a));
    	file >> b;
    }while (file.good());

    apres j'affiche le resultat et j'ai

    Paul

    12

    0

    • Partager sur Facebook
    • Partager sur Twitter
      27 octobre 2018 à 17:00:56

      Salut

      Pourquoi ne pas utiliser std::string pour récupérer un nom ?

      Tu suis quel cours de C++ ?

      • Partager sur Facebook
      • Partager sur Twitter
        27 octobre 2018 à 17:08:30

        Et si tu faisais du C++ et pas un un espèce de mélange pourri de C et de C++? Je connais et apprécie le C et je connais et apprécie également le C++, cependant, j'ai une règle absolue à laquelle je ne déroge sous aucun prétexte, quand je fais du C, je fais du C, quand je fais du C++, je fais du C++, pas un un pseudo bricolage de C mal foutu!

        Puisqu'on parle de C++, on oublie les conneries à la char[], on utilise std::string.

        Petit détail également, il n'y a pas plus con qu'un processeur, si tu t'attends à ce qu'il se rende compte que ton fichier contient un nom et un nombre, tu te fourres le doigt dans l’œil tellement profondément que c'est d'un proctologue et pas pas d'un ophtalmo que tu vas avoir besoin.

        • Partager sur Facebook
        • Partager sur Twitter
        Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
          27 octobre 2018 à 17:09:45

          J'ai trouvé la solution.

          int21h ont peut faire des erreurs, ça arrive. Pas la peine de manquer de respect a des gens qui font des erreurs.

          Tu peut aussi expliquer pourquoi mon code ne vas pas. Dans l'exercice je dois utiliser des char donc avant de juger pose toi les bonnes questions.

          -
          Edité par JEANBAPTISTECOMTE1 27 octobre 2018 à 17:43:18

          • Partager sur Facebook
          • Partager sur Twitter
            27 octobre 2018 à 18:01:09

            A aucun moment, je ne t'ai manqué de respect, relis bien mon post, je parle de faire du C ou bien du C++ et de choisir clairement si l'ont fait du C ou du C++. Je connais les deux, je peux te donner des conseils sur les deux, mais le meilleur conseil que je puisse te donner est de ne jamais les confondre et de ne jamais les mélanger, il y a C et il y a C++, celui qui oublie cette règle fera de la merde en C et de la merde en C++. Quant à ton exercice, je n'ai pas besoin de juger, imposer un char[] sur un getline, c'est la preuve ultime de sa méconnaissance totale de C++. Si tu n'as pas inventé cette ânerie, je n'ai qu'un conseil à te donner, change de prof, le tien est périmé depuis au moins 20 ans.

            Et pour le problème sur ton code, getline comme son nom l'indique lit une ligne, aucun µ-processeur n'est assez malin pour deviner qu'une ligne de ton fichier sur deux contient un nombre, si tu veux sortir un nombre il va falloir coder ce qui va bien pour sortir un nombre, mais la bibliothèque standard est bien faite, std::stoi te permet de convertir une chaîne de caractères en un nombre entier.

            -
            Edité par int21h 27 octobre 2018 à 18:36:21

            • Partager sur Facebook
            • Partager sur Twitter
            Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug

            lire dans 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