Petit probleme avec scanf()

manest -  
 Bob -
Salut à tous.
J'ai un probleme avec mon scanf().
En fait je m'en sert pour lire dans un fichier qui est mit en entrée standard.

./mon_executable < Mon_fichier_texte

donc grace au scanf, je scan un pemiere fois chaque caractere et et je compte le nombre qu'il y a de chaque caractere dans le texte, par exemple : 3 'a', 5 'b', 2 'c' etc...
je scan donc jusqu'a la fin du fichier. Apres je fait plein de bidouilles avec tout ca, et a la fin du programme j'aimerais rescanner les caractere du fichier dans l'ordre. mais je ne sais pas comment dire au scanf de repartir du debut. Je ne suis pas sur que se soit possible. Quelqu'un voit ce que je veux dire et aurait une solution?

ps : je ne peux pas stocker les caracteres la premiere fois. (non vraiment...)

ps2 : c'est du C.

Merci a vous :)

2 réponses

  1. mirza
     
    Hello,

    pas élégant mais ça marche:

    fopen
    scanf 1ere passe
    fclose

    fopen
    scanf 2ème passe
    fclose

    bye,

    mirza
    0
  2. Bob
     
    Pourquoi pas un "calloc()" suivi d'un "fread()"? Apres boucles successives pour créer ton tableau de statistique (8 kio) en 1ère passe puis tu fais ce que tu as envie pour les N passes suivantes sans oublier de libérer la mémoire quand c'est nécessaire. Sans le stockage en mémoire tu risques de faire beaucoup d'acces au disque et c'est trés lent.
    0