Problème - Des flux dans tout les sens

Problème pour la lecture de fichier

Le problème exposé dans ce sujet a été résolu.

Bonjour, je n’arrive pas à lire une phrase entièrement comme indiqué dans le cours : cours
J’ai aussi rajouter #include <string> car je crois qu’il est manquant mais même avec ce code :

#include <string>
#include <fstream>
#include <iostream>

int main()
{
    std::ifstream fichier { "entree.txt" };

    int entier { 0 };
    fichier >> entier;
    std::cout << "Mon entier vaut : " << entier << std::endl;

    std::string phrase { "" };
    std::getline(fichier >> std::ws, phrase);
    std::cout << "Ma phrase vaut : " << phrase << std::endl;

    return 0;
}

rien y fait, je n’arrive pas à lire la phrase entièrement de mon fichier texte.
Merci

+0 -0

Pour pouvoir mieux t’aider, il nous faudrait plus de détails. Que contient ton fichier ? Quel est le résultat ? Mots qui manquent ? Erreur de compilation ?

Note que getline ne signifie pas "lire une phrase entière", mais "lire une ligne entière".

Quant à #include <string>, cette ligne n’est pas nécessaire dès le moment qu’on inclut déjà un fichier relatif aux flux (iostream, fstream, sstream), mais ça ne fait pas de mal de la laisser.

Le plus probable est que le fichier n’est pas lu, car le chemin n’est pas bon. Il faut vérifier que le fichier soit ouvert correctement.

Les chemins relatifs le sont depuis le dossier où est lancé l’exécutable, qui n’est pas forcément celui où se trouve l’exécutable (il doit y avoir moyen de configurer ce comportement dans l’IDE si tu en utilises un).

Bon bah c’est une erreur de ma part très certainement. Le raccourcis clavier pour enregistrer le fichier texte n’avais pas du marché…
Mais par contre je ne comprends pas pourquoi sans le #include <string> mon programme avec visual studio ne veut pas se compiler et avec code::blocks (std::numeric_limits<std::streamsize>::max(), '\n') pose problème …

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte