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

  FORUM HardWare.fr
  Programmation
  C++

  Trier une liste de ligne ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Trier une liste de ligne ...

n°406491
EpoK
Let's burn
Posté le 23-05-2003 à 19:32:17  profilanswer
 

Voila en fait j'ai un fichier .txt avec plein de ligne :)
je cherche à ne récuper les lignes ou se trouve une chaine précise (ici Enabled). voila mon programme passe pas la compilation :) et je capte pas trop les problemes.
J'ai déja fait pas ma de java mais je débute en C, et oui spa logic :)
 
merci de votre aide :
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. main() {
  4. char p[254];
  5. char *s;
  6. s=p;
  7. char c;
  8. char *res;
  9. while((c=getchar())!=EOF) {
  10.  if(c!='\n') {
  11.   *(s++)=c;
  12.  }
  13.  else {
  14.   if(srtsrt(*s,"Enable" )!=NULL) {
  15.    printf("%s",p);
  16.   }
  17.   s=p;
  18.  }
  19. }
  20. }

mood
Publicité
Posté le 23-05-2003 à 19:32:17  profilanswer
 

n°406507
VisualC++
J'va y penser ...
Posté le 23-05-2003 à 20:09:56  profilanswer
 

un void main(void) ou int main(etc...) serait bien deja, mais surtout la fonction c'est strstr et pas srtsrt :)

n°406508
Taz
bisounours-codeur
Posté le 23-05-2003 à 20:11:16  profilanswer
 

regarde fgets également

n°406512
cyplp
Posté le 23-05-2003 à 20:20:35  profilanswer
 

le premier s=p devraai pas etre apres la declaration des variable ?

n°406514
EpoK
Let's burn
Posté le 23-05-2003 à 20:22:24  profilanswer
 

j'ai fait nimp je retouche là

n°406520
EpoK
Let's burn
Posté le 23-05-2003 à 20:39:45  profilanswer
 

Voila j'ai regarder fgets et effectivement j'en ai besoin :)
maintenant il le seul pb c'est que ca quite pas le prog a la fin il doit recherché encore un ligne mais je voi pas pk
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. void vider(char* p);
  4. main(void) {
  5. FILE * pFile;
  6. char p[254];
  7. pFile = fopen ("new.txt" , "r" );
  8. fgets (p , 254 , pFile);
  9. while(p!=NULL) {
  10. if(strstr(p,"Enable" ))
  11.  printf("%s",p);
  12. fgets (p , 254 , pFile);
  13. }
  14. }

n°406531
EpoK
Let's burn
Posté le 23-05-2003 à 20:55:46  profilanswer
 

vala now ca met ds un fichier ^^ mais ca fini toujour pas tout seul :/
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. void vider(char* p);
  4. main(void) {
  5. FILE * pFile;
  6. FILE * export;
  7. char p[254];
  8. pFile = fopen ("new.txt" , "r" );
  9. export = fopen ("sort.txt" , "w" );
  10. fgets (p , 254 , pFile);
  11. while(p!=NULL) {
  12. if(strstr(p,"Enable" ))
  13.  fputs (p , export);
  14. fgets (p , 254 , pFile);
  15. }
  16. }

n°406534
samuelp
Posté le 23-05-2003 à 21:00:54  profilanswer
 

EpoK a écrit :

vala now ca met ds un fichier ^^ mais ca fini toujour pas tout seul :/
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. void vider(char* p);
  4. main(void) {
  5. FILE * pFile;
  6. FILE * export;
  7. char p[254];
  8. pFile = fopen ("new.txt" , "r" );
  9. export = fopen ("sort.txt" , "w" );
  10. fgets (p , 254 , pFile);
  11. while(p!=NULL) {
  12. if(strstr(p,"Enable" ))
  13.  fputs (p , export);
  14. fgets (p , 254 , pFile);
  15. }
  16. }




ne pas oublier les fclose deja
y a quoi dans tes fichiers txt ?

n°406536
EpoK
Let's burn
Posté le 23-05-2003 à 21:05:39  profilanswer
 

samuelp a écrit :


ne pas oublier les fclose deja
y a quoi dans tes fichiers txt ?


 
bon j'ai fclose mais ca sort toujours pas :)
 
 
dans mon txt du type :
 
sfdsqfqsdffds Enable qsd qsd qdsqsd
sqdqdsqSDQSDSQDQDSQDSQDQqsdsqd
qsdsqdsqd Enable dsqqsdsqdsqdsqd
sqdsqdsqdsqdqsd

n°406540
samuelp
Posté le 23-05-2003 à 21:12:06  profilanswer
 

essayes while (caracter=fgetc(fp) != EOF)
 
Donc reprends ce que tu avais fait au debut et adapte ce que je t'ai donné

mood
Publicité
Posté le 23-05-2003 à 21:12:06  profilanswer
 

n°406552
Taz
bisounours-codeur
Posté le 23-05-2003 à 21:34:37  profilanswer
 

samuelp a écrit :

essayes while (caracter=fgetc(fp) != EOF)
 
Donc reprends ce que tu avais fait au debut et adapte ce que je t'ai donné

gné? je vois pas pourquoi fgets est pas bien...

n°406555
samuelp
Posté le 23-05-2003 à 21:36:33  profilanswer
 

++Taz a écrit :

gné? je vois pas pourquoi fgets est pas bien...


 
Bah si mais pour fgets faut connaitre la longuer de la ligne, ce qui est un tout petit peu genant.
 
 Mais c vrai que fgets peut aussi faire l'affaire...

n°406560
Taz
bisounours-codeur
Posté le 23-05-2003 à 21:39:23  profilanswer
 

ben non, pas besoin de la longueur de la ligne    [:spamafote]

n°406564
samuelp
Posté le 23-05-2003 à 21:42:44  profilanswer
 

++Taz a écrit :

ben non, pas besoin de la longueur de la ligne    [:spamafote]  


 
Je me rappelais plus que ct optionnel alors, autant pour moi

n°406567
EpoK
Let's burn
Posté le 23-05-2003 à 21:44:25  profilanswer
 

Ca marche :D merci à ts pour les conseils  :hello:  
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. void vider(char* p);
  4. main(void) {
  5. FILE * pFile;
  6. FILE * export;
  7. char p[254];
  8. pFile = fopen ("new.txt" , "r" );
  9. export = fopen ("sort.txt" , "w" );
  10. while(fgets (p , 254 , pFile)!=NULL) {
  11. if(strstr(p,"Enable" ))
  12.  fputs (p , export);
  13. }
  14. fclose (pFile);
  15. fclose (export);
  16. }

n°406572
Taz
bisounours-codeur
Posté le 23-05-2003 à 21:49:10  profilanswer
 

impeccable!

n°406708
EpoK
Let's burn
Posté le 24-05-2003 à 00:16:25  profilanswer
 

c'est quoi la fonction pour concaténer a la fin d'un fichier ?
 
paske là ca m'efface le fichier a chaque utilisation :/

n°406727
Taz
bisounours-codeur
Posté le 24-05-2003 à 08:51:57  profilanswer
 

c'est le mode d'ouverture du fichier qui compte
 
http://www.cplusplus.com/ref/cstdio/fopen.html
 
(sauf le mode "t" qui n'existe pas, cette page est un bon récapitulatif)

n°406745
EpoK
Let's burn
Posté le 24-05-2003 à 11:17:05  profilanswer
 

++Taz a écrit :

c'est le mode d'ouverture du fichier qui compte
 
http://www.cplusplus.com/ref/cstdio/fopen.html
 
(sauf le mode "t" qui n'existe pas, cette page est un bon récapitulatif)


 
mode a+ et c'est nickel ^^
 
merci  :jap:


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

  Trier une liste de ligne ...

 

Sujets relatifs
Selectionner une (des) ligne(s) dans un recordset (datagrid)Coloration personaliser de ligne de DATAGRID ?? Résolu
[SQL] Count() afficher les ligne avec des 0[DELPHI] recuperer les arguments de la ligne de commande
php-html : debutant comment sort on la variable d'une liste deroulanteRecuperer la liste de tous les parametres d'une applet
Dire qu'un PC est "hors-ligne" en retournant un FALSE.Modification a partir d'une liste...
récupérer le séparateur de liste ?[SHELL Linux] Traiter la première ligne, et rebalancer le reste
Plus de sujets relatifs à : Trier une liste de ligne ...


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