IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

pb lecture de ligne dans un texte


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 27
    Points : 20
    Points
    20
    Par défaut pb lecture de ligne dans un texte
    bon voila je comprends pas pk ca marche pas ca : g fait tout les tests possible et j'en ai conclu que cette foutu fonction ne detecte pas le caractere de saut de ligne qui est bien 0h0D non ?

    pour la taille j'obtient 1 en plus ce qui est completement abberant mais bon ...
    dans mon fichier texte j'ai ecri :
    pourquoi
    ca
    marche
    paaas ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    unsigned char* recupligne(FILE* f,long offset,unsigned int *taille)
    {
    	fseek(f,offset,SEEK_CUR);
    	unsigned int posl=ftell(f);
    	int c=0;
     
    	while(!feof(f) && c!=13)     //ICI CA MARCHE PA !!!!  
    	{
    		c=fgetc(f);
    		if(c==13)system("pause");//ET C PA NORMAL !!!!
    	}
     
    	*taille=SEEK_CUR-posl;
    	unsigned char* ligne=(unsigned char*)malloc(*taille);
    	memset(ligne,*taille,0);
    	fseek(f,posl,SEEK_SET);
    	fread(ligne,*taille,1,f);
    	return ligne;
    }
    et donc a l'arrivée comme prevu g que le premier caractere 'p' suivi de conneries comme des ²²²²

    svp help, le caractere qui correspond au saut de ligne c'est bien le 13 non ?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 590
    Points
    41 590
    Par défaut
    13 (0x0D), c'est le retour chariot \r, caractère de fin de ligne dans un fichier ouvert en mode binaire sur Mac.

    le saut de ligne, c'est 10 (0x0A) \n : caractère de fin de ligne dans les fichiers ouverts en mode texte sur tous les systèmes, et caractère de fin de ligne dans les fichiers ouverts en mode binaire sur unixoïde.

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    En C++ => FAQ

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    ah bon .. lol dsl
    et j'avais lu dans la faq le topic 'comment compter le nb de lignes dans un fichier txt' mais jv rien cmpris

    merci

  5. #5
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    Ben ... tant que tu peux obtenir des lignes, tu traites chaque ligne obtenue...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    std::ifstream fic("toto.txt");
    std::string ligne;
    while (std::getline(fic, ligne)) // et non, eof est à BANNIR!!
      traiter_la(ligne);
    On peut difficilement faire plus simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SWT] Nombre lignes dans un Text
    Par anoukhan dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 26/02/2007, 12h50
  2. Retour A La Ligne dans fichier texte /?
    Par Phoenix_Blue dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/01/2007, 16h34
  3. Recupere une info suivant une ligne dans un texte.
    Par cyrilthebest8 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/12/2006, 19h04
  4. ecrire a la ligne dans fichier texte.
    Par zulot dans le forum Langage
    Réponses: 7
    Dernier message: 12/09/2006, 13h02
  5. [swing] jLabel et retour à la ligne dans le texte ?
    Par daed dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 04/05/2006, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo