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

  FORUM HardWare.fr
  Programmation
  C

  Fichier Texte

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Fichier Texte

n°818300
mp75
Posté le 09-08-2004 à 17:37:29  profilanswer
 

Bonjour voila j'aimerai savoir comment peut t'on recuperer chaque ligne d'un fichier texte dans une chaine pour la tester merci !!!

mood
Publicité
Posté le 09-08-2004 à 17:37:29  profilanswer
 

n°818340
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-08-2004 à 18:32:41  profilanswer
 

cin.getline()


---------------
J'ai un string dans l'array (Paris Hilton)
n°818341
Taz
bisounours-codeur
Posté le 09-08-2004 à 18:32:48  profilanswer
 

while(fgets(ligne, sizeof ligne, fichier))
{
}

n°818351
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-08-2004 à 18:36:28  profilanswer
 

ah merde, sous-cat == C :pfff:


---------------
J'ai un string dans l'array (Paris Hilton)
n°818354
Taz
bisounours-codeur
Posté le 09-08-2004 à 18:39:26  profilanswer
 

Harkonnen a écrit :

ah merde, sous-cat == C :pfff:

et puis cin.getline c'est de la MERDE :o
std::istream & std::getline(std::istream &, std::string & ); :o

n°818382
cricri_
Posté le 09-08-2004 à 19:07:37  profilanswer
 

Et pourquoi c'est de la merde ?
J'ai commencé une apli pour un client et ... faut que je regarde, je posterai ça du taf pour avis, ça me fait un peur ce que tu dis ...

n°818386
WhatDe
Posté le 09-08-2004 à 19:14:46  profilanswer
 

Cricri_ a écrit :

Et pourquoi c'est de la merde ?
J'ai commencé une apli pour un client et ... faut que je regarde, je posterai ça du taf pour avis, ça me fait un peur ce que tu dis ...


C'est toujours comme ca quand Taz parle  :whistle:
On remet en question ses études, et tutti quanti  :cry:

n°818387
Taz
bisounours-codeur
Posté le 09-08-2004 à 19:16:10  profilanswer
 

Cricri_ a écrit :

Et pourquoi c'est de la merde ?
J'ai commencé une apli pour un client et ... faut que je regarde, je posterai ça du taf pour avis, ça me fait un peur ce que tu dis ...

parce que c'est des char* et que non seulement c'est pas sur, mais surtout tu te trimballes une saleté de limitation, tu dois toujours spécifier la taille maximale d'une ligne, ce qui est parfaitement stupide et d'un autre temps

n°818396
cricri_
Posté le 09-08-2004 à 19:52:52  profilanswer
 

ok, je crois que je suis dedans là ... crotte ...
moi qui voulait faire un truc propre en C++, c'est raté ..
Merci.

n°818447
cris56
Posté le 09-08-2004 à 20:47:57  profilanswer
 

deja si tu utilise char * au lieu de std::string, tu joue pas la carte de la securité pour du c++

mood
Publicité
Posté le 09-08-2004 à 20:47:57  profilanswer
 

n°818455
cricri_
Posté le 09-08-2004 à 20:58:06  profilanswer
 

bas vi, mais char * est encore présent dans les streams ...

n°818465
Taz
bisounours-codeur
Posté le 09-08-2004 à 21:16:11  profilanswer
 

et ?

n°818479
cricri_
Posté le 09-08-2004 à 21:32:56  profilanswer
 

Et bien j'ai pris la fonction GetLine présente dans les streams, celle qui fonctionne avec des chars ...
Je pensais bêtement que c'est celle qu'il fallait utiliser.

n°818481
cricri_
Posté le 09-08-2004 à 21:34:03  profilanswer
 

ça m'avait surpris de trouver du char * dans les streams, mais bon, je me suis dit qu'on ne devait pas pouvoir faire autrement ...

n°818756
mp75
Posté le 10-08-2004 à 11:12:21  profilanswer
 

merci mais j'ai l'impression que mon fichier texte n'est pas bien formater il doit manquer le caractere de fin de ligne c un fichier qui contient une branche de la BR obtenu par un reg export

n°818811
cris56
Posté le 10-08-2004 à 12:26:31  profilanswer
 

si il est tres bien formaté (sinon quand  tu le lirais avec un editeur il n'y aurais qu'une  seul ligne)
 
fais voir le code que tu utilise

n°818834
mp75
Posté le 10-08-2004 à 12:57:32  profilanswer
 

ben la bisarrement ca fonctionne alors que je n'ai rien changé dans mon code enfin LOL !!
voila je souhaite chercher une expression du type abcde=yfgh et prendre que le yfgh si je le trouve quelle fonction puis je utiliser

n°818836
cris56
Posté le 10-08-2004 à 13:01:51  profilanswer
 

strstr, strchr, strrchr... tu as tout cequ'il faut ici
 
http://www.cplusplus.com/ref/cstring/

n°818837
mp75
Posté le 10-08-2004 à 13:02:21  profilanswer
 

merci beaucoup

n°818935
mp75
Posté le 10-08-2004 à 14:05:26  profilanswer
 

J'ai un souci avec strstr
voila mon code qui se trouve dans une boucle
 
fgets(ligne,sizeof(ligne),fich)
res=strstr(ligne,"HKEY_CURRENT_USER\\Identities\\{" );
if(res)...
 
Or il ne trouve pas cette chaine de cractere alors qu'elle est bien presente
 

n°818941
cris56
Posté le 10-08-2004 à 14:09:37  profilanswer
 

Code :
  1. while( fgets( line, sizeof line, file ) )
  2. {
  3.     if( (sub_str = strstr ("HKEY_CURRENT_USER\\Identities\\{", line)) != NULL )
  4.     {
  5.         /* la chiane est presente */
  6.     }
  7. }

n°818950
mp75
Posté le 10-08-2004 à 14:20:07  profilanswer
 

c sur quand mettant les para dans le bon sens ca marche mieux LOL mais j'ai l'impression qu'il fait n'importe koi car j'incremente un compteur pour savoir le nombre d'itentité trouvé il affiche un nombre qui est superieur au nombre de ligne du fichier

n°818955
cris56
Posté le 10-08-2004 à 14:24:26  profilanswer
 

T'es sur ?
 

Code :
  1. while( fgets( line, sizeof line, file ) )
  2. {
  3.     ...
  4.     nb_lines++
  5. }
  6. /* nb_lines = nombre de lignes  dans le fichier  */

n°819023
mp75
Posté le 10-08-2004 à 15:24:03  profilanswer
 

ben oui je fait un test sur le strstr et j'ai un resultat incoherent

n°819033
cris56
Posté le 10-08-2004 à 15:32:10  profilanswer
 

c'est bizar, montre le code complet (on sait jamais)

n°819145
mp75
Posté le 10-08-2004 à 16:23:31  profilanswer
 

fgets(ligne,sizeof(ligne),fich)  
res=strstr(ligne,"HKEY_CURRENT_USER\\Identities\\{" );  
if(res)flag++;

n°819162
mp75
Posté le 10-08-2004 à 16:27:56  profilanswer
 

enfin avec la modif pour strstr lol

n°819163
cris56
Posté le 10-08-2004 à 16:28:06  profilanswer
 

ta inversé  les parametre de strstr et la tu compte seulement les lignes contenant la chaine "HKEY_CURRENT_USER\\Identities\\{"

n°819455
mp75
Posté le 10-08-2004 à 18:19:34  profilanswer
 

oui j'ai fait la rectif quand tu me l'avait dis mais c bien ce que je ve faire compter le nombre de ligne contenant cete chaine

n°819944
mp75
Posté le 11-08-2004 à 09:08:32  profilanswer
 

L'idée c de recopier la clef dans un autre fichier
voici une partie du code
 
while(fgets(ligne,sizeof(ligne),fich1)
  {
  if((res=strstr("[HKEY_CURRENT_USER\\Identities\\{" ))&& strlen(res)==67)fputs(res,fich2);
  }

n°819953
Taz
bisounours-codeur
Posté le 11-08-2004 à 09:21:56  profilanswer
 

utilise strlen("[HKEY_CURRENT_USER\\Identities\\{" ) plutot qu'un nombre magique

n°819977
cris56
Posté le 11-08-2004 à 09:45:33  profilanswer
 

ca sort d'ou ca ?
 
strstr("[HKEY_CURRENT_USER\\Identities\\{" )

n°819989
mp75
Posté le 11-08-2004 à 09:59:13  profilanswer
 

g oublié le parametre ligne dans la fonction strstr


Message édité par mp75 le 11-08-2004 à 10:03:20
n°820051
mp75
Posté le 11-08-2004 à 10:53:46  profilanswer
 

le souci c que ca ne fonctionne pas

n°820054
cris56
Posté le 11-08-2004 à 10:55:25  profilanswer
 

je fais souvent ce genre de code et j'ai jamai eu de probleme
 
tu peux montrer le code entier stp ?

n°820066
Taz
bisounours-codeur
Posté le 11-08-2004 à 11:00:01  profilanswer
 

et l'\n bordel :o

n°820097
mp75
Posté le 11-08-2004 à 11:16:58  profilanswer
 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
FILE *fich1,fich2;
char *ligne,*res;
system("reg export HKEY_CURRENT_USER\\Identitites c:\\regbase.txt" );
fich1=fopen("c:\\regbase.txt","r" );
fich2=fopen("c:\\regnew.txt","w" );
while(fgets(ligne,sizeof(ligne),fich1))
    {
     if((res=strstr("[HKEY_CURRENT_USER\\Identities\\{" ))&& strlen(res)==67)fputs(res,fich2);  
    }
fclose(fich1);
fclose(fich2);
return 0;
}

n°820115
Taz
bisounours-codeur
Posté le 11-08-2004 à 11:24:24  profilanswer
 

c'est quoi ce 67 ?
 
sinon bravo, t'as rien compris ni au pointeur, ni au tableau ...


Message édité par Taz le 11-08-2004 à 11:24:50
n°820130
mp75
Posté le 11-08-2004 à 11:34:54  profilanswer
 

ben le 67 c la longueur de la chaine qui commence par [HKEY...
Sinon pour les pointeurs et tableau je vois pas ce que tu ve dire

n°820134
cris56
Posté le 11-08-2004 à 11:38:19  profilanswer
 

ligne est un pointeur, tu n'alloue
sizeof(ligne) == taille du pointeur
 
ligne doit etre un tableau (char  ligne[N]) pour que sizeof ligne = N

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  Fichier Texte

 

Sujets relatifs
PHP MyAdmin - insertion de fichier texte => Errcode 2:Can't get stat[java] pb de lecture de fichier texte
pb fichier texte et vue avec EclipseParamétrer les séparateurs lors de la lecture d'un fichier texte
Nombre de ligne d'un fichier texte ouvert sous ExcelAffichage dans fichier Excel : convertir les nombres en "texte"
Modifier un fichier textedownload d'un fichier texte
Enlever la dernière ligne d'un fichier texte en batchparcourir un fichier texte
Plus de sujets relatifs à : Fichier Texte


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