Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1306 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  ligne d'un fichier aleatoire????

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ligne d'un fichier aleatoire????

n°327698
ocin2002
Posté le 09-03-2003 à 20:41:21  profilanswer
 

slt  
je cherche a aller à une certaine ligne d'un fichier texte pour lire la ligne  
j'ai mis des numero a chaque ligne , je vais  a une ligne que je defini avant mais j'arrive pas a aller a une ligne aléatoirement . je voudrais aller a une ligne aléatoirement j'y arrive pas .

Code :
  1. #include<stdio.h>
  2.   #include<conio.h>
  3.  
  4.   void main(void)
  5.   {
  6.     char c;
  7.     char line[50];
  8.     FILE *fic;
  9.    
  10.     clrscr();
  11.     fic = fopen("tatu.txt","r" );//ouvrir le fichier  
  12.      if ( fic==NULL)
  13.      {printf("\n ouverture impossible!" );  //si il n'arrive pas a l'ouvrir  
  14.      }
  15.     do{
  16.       c=fgetc(fic);
  17.      
  18.      
  19.            if (c=='2')//si c='2' alors il affiche la ligne ou se trouve 2  
  20.             {
  21.               fscanf(fic,"%[^\n]",line);
  22.               printf("%s",line);
  23.               break;
  24.             }
  25.        }
  26.     while (c!=EOF)//il test tout les caracteres jusqu a la fin du fichier  
  27.    
  28.      getch();
  29.    
  30.     fclose(fic);
  31.   }


 
faire un truc comme ca:
 if (c=="x" ) avec x nombre aleatoire
quelqu'un peut m'aider?

mood
Publicité
Posté le 09-03-2003 à 20:41:21  profilanswer
 

n°327705
Taz
bisounours-codeur
Posté le 09-03-2003 à 20:49:14  profilanswer
 

#include <ctype.h>
 
 
tu as dedans entre autres
int isdigit(int c) qui renvoie 0 si c n'est pas un chiffre décimal
 
http://nodevice.com/cgi-bin/searchman?topic=isdigit
 
2 problèmes dans ton programmes: EOF ne rentre pas dans un "cahr", il faut donc employer un int "int c". le comportement est le meme, ce la ne change rien à ton programme, un char, c'est juste un petit int.
 
autre chose. si le fichier n'a pas pu etre ouvert, tu essayes quand meme de lire ( le message d'erreur est joli, mais le programme continu)
 
derniere chose, ta boucle est correct et l'utilisation de EOF fonctionnelle. peut etre serait il plus joli d'ecrire
 

Code :
  1. while((c=fgetc(fichier)) != EOF)
  2. {
  3.   /* faire semblant de travailler */
  4. }


 
edit ton fscanf est bizarre, je comprends que tu veux essayer de lire une ligne, bien essayer, mais si la ligne fait plus de 50 caractère, boooom
 
utilise fgets qui lit une ligne


Message édité par Taz le 09-03-2003 à 20:50:34

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  ligne d'un fichier aleatoire????

 

Sujets relatifs
Fenêtre "Ouvrir un fichier"[php] afficher les lignes commençant par //- d'un fichier
Upload de fichier SQL de 12 Mo avec PHPMyAdmin [résolu]Comment creer un raccourcis vers un fichier ???
je voudrais assembler un fichier... et construire un executablemon fichier base de données sous Linux
[c++] transfert de fichier via un socket[XML] Opération sur un fichier XML
lire 1 ligne d'un fichier texte 
Plus de sujets relatifs à : ligne d'un fichier aleatoire????


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR