Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fstream ne crée pas le fichier

    18 avril 2022 à 12:53:15

    Salut tout le monde, jéspère que vous allez bien.

    Comme mentionné dans le titre, fstream ne veut pas créer le fichier

    je vous mets le code ci-dessous

    #include <iostream>
    #include <fstream>
    
    using namespace std;
    
    fstream todoFile;
    
    int main()
    {
    
        cout << "Bienvenue Sur TodoHTML !" << endl;
        cout << "Appuyez Sur H Pour Voir A Quoi Sert Cet Outil Et Comment L'Utiliser" << endl;
        cout << "Ou Appuyez Sur N Pour Créer Une Nouvelle TodoList" << endl;
    
        char entreeTouche;
    
        cin >> entreeTouche;
        if(entreeTouche == 'h')
        {
            system("clear");
            cout << "TodoHTML v1" << endl;
            cout << "Q: A Quoi Sert Cet Outil ?" << endl;
            cout << "A: Cet Outil Sert A Créer Des Fichiers TODO Mais En HTML5" << endl;
    
            cout << "Q: Comment Me Servir De Cet Outil ?" << endl;
            cout << "A: C'Est Très Simple, Un Assistant Va Vous Guider Pour Créer Le Fichier Et Ensuite Vous N'Avez Plus Qu'A Ouvrir Le HTML Dans Un Navigateur Web" << endl;
        }
    
        if(entreeTouche == 'n')
        {
    
    
            cout << "Tout D'Abord, Comment Voulez-Vous Appeler Le Fichier ?" << endl;
            string nomFichier;
            cin >> nomFichier;
            cout << "Votre Fichier Va S'Appeler " << nomFichier << endl;
            cout << "Maintenant, Entrez Le Chemin: ";
            string cheminFichier;
            cin >> cheminFichier;
            todoFile.open(cheminFichier + "/" nomFichier + ".html");
    
            if(todoFile)
            {
                cout << "Le Fichier Cible A Pu Être Chargé !" << endl;
            }
            else
            {
                cout << "Le Fichier Cible N'A Pas Pu Être Chargé !" << endl;
            }
    
        }
    
    }
    
    

    Bon, c'est pas très propre mais je ferais ca après l'erreur résolue !

    Merci a ceux qui me répondront !!

    -
    Edité par MathiasRubert 18 avril 2022 à 12:54:48

    • Partager sur Facebook
    • Partager sur Twitter
      18 avril 2022 à 13:38:23

      std::ofstream si tu veux créer un fichier. Avec un std::fstream tout court il faut un paramètre de plus. Dans dans la vraie vie, on n'utilise pratiquement jamais ce type pour toujours utiliser std::ofstream ou std::ifstream.

      PS: pas besoin de open. Voire au contraire: retarde TOUJOURS la déclaration de tes variables, et construits les directement avec le bon paramètre. Sans parler que les variables globales sont rarement une bonne idée. Surtout comme ici pour un fichier.

      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        18 avril 2022 à 13:55:09

        Merci ! Mais, J'ai une question, avec ofstream je peux écrire dans le fichier ?

        • Partager sur Facebook
        • Partager sur Twitter
          18 avril 2022 à 14:08:07

          o==output

          i==input

          f==file

          Donc oui, avec un std::ofstream, tu peux écrire dedans. C'est exactement fait pour ça et rien d'autre. Après il y a des subtilités selon que l'on veuille ajouter à la fin ou tout écraser ou... Pour ça, il lire la doc -> google "std::ofstream::ofstream" (pour le constructeur que je recommande) ou "std::ofstream::open" (ça marche aussi, mais AMA c'est plus une mauvaise pratique)

          (le mode "out" est implicite et inutile à mettre pour un std::ofstream, le mode "in" n'a aucun sens)

          Et si après l'ouverture échoue, peut-etre est-ce à cause du chemin proposé qui ne serait pas valide (répertoire qui n'existe pas, répertoire interdit à l'écriture, destination déjà existante et interdite à l'écriture...)

          • Partager sur Facebook
          • Partager sur Twitter
          C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
            18 avril 2022 à 15:49:16

            Petite question : Pourquoi Tu Mets Une Majuscule À Chaque Mot Dans Ton Programme ?
            • Partager sur Facebook
            • Partager sur Twitter

            git is great because Linus did it, mercurial is better because he didn't.

              21 avril 2022 à 18:59:38

              Pour faire stylé xD je suis un peu maniaque sur ca c'est sur 😅
              • Partager sur Facebook
              • Partager sur Twitter
                21 avril 2022 à 20:09:48

                Ah, je t'invite à lire la bio de cet utilisateur de toute urgence

                https://openclassrooms.com/fr/members/8x57spr472q1#bio

                • Partager sur Facebook
                • Partager sur Twitter

                git is great because Linus did it, mercurial is better because he didn't.

                  23 avril 2022 à 20:21:54

                  Ah oui , je ne fais que mettre des majuscules , pas mettre des couleurs ou des

                  *************************************** JEU TROP BIEN ******************************************

                  :D

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Fstream ne crée pas le 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