CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Lire un fichier en C/C++

CYBER_BOB
CYBER_BOB
Niveau 10
19 juillet 2004 à 22:34:36

voila moi j´ai une tite question, voila en fait je cherche a faire tout ca pour une unique raison, c´est que si je traite le fichier octet par octet bah je sais le faire, mais on m´a toujours dit que c´était une mauvaise méthode donc je vais autrement ! !!
mais une fois que mon fichier ( ou du moins un passage de mon fichier) est en memoire, je peux tres bien traité le buffer en memoire mais octet par octet, c´est une bonne methode la... que si je peux traiter mon buffer qui est en memoire octet par octet, bah je sais comment faire pour reconnaitre ma chaine de caractere ! !!

CYBER_BOB
CYBER_BOB
Niveau 10
19 juillet 2004 à 22:57:30

dans le code suivant ( celui kon ma donné):

  1. define SIZE_BUFFER ( 1*1024) / / 1 Ko

FILE *pFile;
char Buffer[SIZE_BUFFER];
size_t nRead;
size_t nParse;

if ( ! ( pFile = fopen("fichier.txt","rb")) )
{
/ / erreur d´ouverture
/ / sortir . . .
}

while(!feof(pFile))
{
nParse = 0;
nRead = fread(Buffer,sizeof(char),SIZE_BUFFER,pFile);

while(nParse < nRead)
{
/ / traitement de Buffer de [0;nRead[

nParse++;
}
}

nParse correspond a quoi?
buffer[nParse] correspond au carractere stocké dans le buffer a la position nParse?

CYBER_BOB
CYBER_BOB
Niveau 10
20 juillet 2004 à 01:15:31

buffer[nParse] correspond bien au carractere stocké dans le buffer a la position nParse. cependant, j´ai beau cherché, je n´arrive pas a retrouver la chaine de caractere dans le fichier texte en utilisant la methode de buférisation ( si je puis m´exprimer ainsi)...

je devais trouver la chaine " ----FU-FILE----" ( sans les guillement), j´ai donc fait le code suivant ( facon barbare):

while(!feof(fp_source))
{
nParse = 0;
nRead = fread(buffer, sizeof(char), SIZE_BUFFER, fp_source);

while(nParse < = nRead)
{
if(strcmp(buffer[nParse], " -") == NULL)
{
if(count == 14) count = 15;
else if(count == 13) count = 14;
else if(count == 12) count = 13;
else if(count == 11) count = 12;
else if(count == 6) count = 7;
else if(count == 3) count = 4;
else if(count == 2) count = 3;
else if(count == 1) count = 2;
else if(count == 0) count = 1;
}

if(strcmp(buffer[nParse], " F") == NULL)
{
if(count == 7) count = 8;
else if(count == 4) count = 5;
}

if(strcmp(buffer[nParse], " U") == NULL)
if(count == 5) count = 6;

if(strcmp(buffer[nParse], " I") == NULL)
if(count == 8) count = 9;

if(strcmp(buffer[nParse], " L") == NULL)
if(count == 9) count = 10;

if(strcmp(buffer[nParse], " E") == NULL)
if(count == 10) count = 11;

if(count == 15)
printf("Trouvé ! !!\n");

nParse++;
}
}

Altonfrere
Altonfrere
Niveau 10
20 juillet 2004 à 08:17:47

bon tu me fais peur là :ouch:

Je crois que le mieux est de reprendre à 0 et dire ce que tu veux faire exactement avec ce fichier texte. Explique également quel est son contenu etc.... est ce qu´i y a des retours chariot ( des lignes quoi..) ?

Comme je te l´indiquais plus haut, essaie de te renseigner sur la fonction strstr :

http://www.cplusplus.com/ref/cstring/strstr.html
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_crt_strstr.2c_.wcsstr.2c_._mbsstr.asp
etc . ..

CYBER_BOB
CYBER_BOB
Niveau 10
20 juillet 2004 à 11:24:05

bah dans le fichier texte il faut que je trouve la chaine ----FU-FILE----, et le code plus haut me semblait t´il me parmettait de retrouver cette chaine de caractere dans le fichier, ( meme si le code était loin d´etre optimisé) ! !!

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment