Zero binaire en C ( URGENT SVP )
safir
-
safir -
safir -
Bonjour,
Comment remplacer un zéro binaire par espace dans un fichier ?
J'essaye de nettoyer un fichier en entré sensé contenir un zéro binaire mais je ne sais pas comment le representer.
Voilà le petit bout de programme :
main()
{
..;
...;
/*boucle principale*/
while ( ((c=getc(stdin)) != EOF))
{
if (strcmp(c,"ICI ZERO BINAIRE")==0)
{
strcpy(c," ");
}
if( opt_out_file )
fprintf(out_file,"%c",c);
else
fprintf(stderr,"%c",c);
}
return 0;
}
Merci beaucoup
Comment remplacer un zéro binaire par espace dans un fichier ?
J'essaye de nettoyer un fichier en entré sensé contenir un zéro binaire mais je ne sais pas comment le representer.
Voilà le petit bout de programme :
main()
{
..;
...;
/*boucle principale*/
while ( ((c=getc(stdin)) != EOF))
{
if (strcmp(c,"ICI ZERO BINAIRE")==0)
{
strcpy(c," ");
}
if( opt_out_file )
fprintf(out_file,"%c",c);
else
fprintf(stderr,"%c",c);
}
return 0;
}
Merci beaucoup
8 réponses
-
-
zero est le seul chiffre qu'aucune base ne peut interdire
à part peut être les chiffres romains.
zéro s'exprime 0
dans :if (strcmp(c,"ICI ZERO BINAIRE")==0)
c n'a pas été déclaré, il est donc impossible de connaitre son type.
si tu le compare à une chaine de plusieurs caractères, alors
que tu lui attribue un fgetc( ) il va y avoir une incompatibilité.
c'est ou char ou pointeur sur char, et là ni l'un ni l'autre ne fonctionneront. les fprintf semblent indiquer que c'est un char
dans ce cas, le strcmp ne fonctionnera pas, à remplacer par if(!c)
cordialement
¤ -
Merci toto.
Ca me donne une segmentation fault à l'execution. je rappelle que je déclare c en char c'est à dire : char c; -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
le strcpy va provoquer un segmentation fault si c a été déclaré comme char
¤ -
Désolé Blurk, le segmentation fault était par réponse à toto.
le !c semble marcher. Il faut donc que je test sur le bon fichier.
Merci à tous et à toutes. -
Justement ça donne une segmentation fault sur un fichier contenant un zéro binaire.
Qu'est ce qu'il faut utiliser alors à la place du strcpy ??
Merci encore une fois. -