Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 80 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Souci avec fichier texte

 
n°9860
mp75
Profil : Jeune recrue
Posté le 11-08-2004 à 19:07:50  profilanswer
 

Bon voila l'idee je souhaite recuperer chaque ligne d'un fichier texte puis teste rsi la ligne contient une chaine bien precise et si elle a une longueur bien precise pour l'ecrire dans un autre fichier
 Voici mon code le souci c que rien ne s'ecrit :
 
#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°9861
TotoWeb 93
M in M
Profil : Habitué
Posté le 11-08-2004 à 20:32:28  profilanswer
 

il manque pas un truc dans ton code?
 
car la je vois pas a quoi il te sert ton "fgets" (celui dans le while), vu que tu n'utilise pas "ligne"

n°9862
mp75
Profil : Jeune recrue
Posté le 11-08-2004 à 22:45:03  profilanswer
 

oui desolé j'ai mal recopier c :
 if((res=strstr("[HKEY_CURRENT_USER\\Identities\\{",ligne))&& strlen(res)==67)fputs(res,fich2);  

n°9863
TotoWeb 93
M in M
Profil : Habitué
Posté le 11-08-2004 à 22:48:47  profilanswer
 

en gros ton truc il verifie si il trouve la sous-chaine 'ligne' dans "[HKEY_CURRENT_USER\\Identities\\{"
si il trouve pas, il ecrit pas dans le fichier

n°9864
mp75
Profil : Jeune recrue
Posté le 11-08-2004 à 22:49:23  profilanswer
 

voila

n°9865
TotoWeb 93
M in M
Profil : Habitué
Posté le 11-08-2004 à 22:52:26  profilanswer
 

et il rentre dans le if ?

n°9866
mp75
Profil : Jeune recrue
Posté le 11-08-2004 à 23:00:12  profilanswer
 

En mode debug oui mais en execution rien ne se passe alors que cette chaine est bien presente dans mon fichier et a une longueur de 67 caracteres

n°9867
TotoWeb 93
M in M
Profil : Habitué
Posté le 11-08-2004 à 23:15:43  profilanswer
 

deja que ta chaine "[HKEY_CURRENT_USER\\Identities\\{" ne fait pas 67 caracteres, donc comme 'ligne' est une sous chaine de celle ci, elle ne fera jamais 67 caracteres... nan ?

n°9868
mp75
Profil : Jeune recrue
Posté le 11-08-2004 à 23:21:09  profilanswer
 

ben avec la fonction strstr res doit prendre toute la chaine, de toute facon j'ai même essayé de tester la longueur de ligne et le resultat est le même

n°9869
TotoWeb 93
M in M
Profil : Habitué
Posté le 11-08-2004 à 23:32:07  profilanswer
 

essaye de virer la 2e condition (strlen(res))
dans le if, tu laisse juste le strstr


Aller à :
Ajouter une réponse