Bonjour,
Dans mon programme je doit tester l'existence d'une série de BYTE dans une autre plus grande , je sais qu'en C les BYTE sont considéré char mais mois je doit comparer les BYTE pas leurs équivalent en char et je sais que strstr est la solution la plus souple pour trouver une chaine de char dans une autre mais son application ne marche pas sur la chaine de BYTE que j ai meme si dans mon code j ai tout déclarer comme char :) merci pour votre réponse.
voila mon code ( le but c'est de lire d un secteur disk et de chercher une chaine dans un ensemble de secteur )
void Afficher_secteur(int Num_Sect)
{
printf("\n LE CONTENUE DU SECTEUR NUMERO %d EST : \n\n",Num_Sect) ;
int compteur_ligne, compteur_octet, octet=0;
char *secteur = Lire_secteur(Num_Sect) ;
//textcolor(14);
printf("\n LE CONTENUE DU SECTEUR NUMERO %d EST : \n\n",Num_Sect) ;
for(compteur_ligne=0;compteur_ligne<32;compteur_ligne++){ //affichage de 32 ligne
// textcolor(14);
if(16*compteur_ligne==0) printf("000%d ",16*compteur_ligne); //utile pour l'affichage
else{if(16*compteur_ligne<100){printf("00%d ",16*compteur_ligne);} //utile pour l'affichage
else{printf("0%d ",16*compteur_ligne);}} //utile pour l'affichage
for(compteur_octet=0;compteur_octet<16;compteur_octet++){ //affichage de chaque ligne
// textcolor(WHITE);
printf("%x ",secteur[octet]);
octet++ ;
}
printf("\n\n");
}
}
int Recherche_chaine(char *secteur , char *chaine_info){
int trouvee ;
if(strstr(secteur, chaine_info) != NULL)
trouvee = TRUE;
else
trouvee = FALSE;
return trouvee;
}
int main(int argc, char ** argv)
{
Afficher_secteur(5);
salut, les c-string sont des null-terminated string, si tu ne veux pas de null-terminated string il faudra recréer des fonctions qui prennent la longueur en argument que tu dois connaitre a l'avance.
Salut merci d avoir répondu a ma question malheureusement c'été mal posé j ai trouvé la solution fallait juste faire un sprintf avec %x pour afficher la valeur en exa dans une autre chaine ce qui veut dire convertir thanks
6 avril 2015 à 21:23