De l'aiiide!!

eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010 - 9 sept. 2010 à 13:51
eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010 - 13 sept. 2010 à 17:16
bonjour !!
j'aimerai que vous m'aidiez svp!!
je veux lire dans un dossier specifié par example c:\\nouveau dossier tout les fichiers a la fois .
J'explique mieux, le dossier comprends 10 fichiers , ((appel_septembre.txt,sms_septembre.txt),(appel_octobre.txt,sms_octobre.txt),etc) et dans chaque fichier il y a un texte ou je dois detecter le nombre de chaque erreur, (par example: 1234655|ero336\ddjghqdk) moi je dois avoir le 336 et compter combien y en a dans chaque fichier. apres mettre un rapport dans un fichier .TXT de chaque fichier , et a la fin mettre un resumé ou il ya le tout et par ordre chronologique , c a dire un fichier.txt ou il y aura le rapport de de janvier des appels et des sms suivi de fevrier ainsi de suite .

merci de bien m'aider

13 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
9 sept. 2010 à 16:20
Bonjour,
Regarde les fonctions FindFirstFile(), FindNextFile()
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010
9 sept. 2010 à 16:32
MErci Pistol_pete,
ca parait beaucoup interessant
est ce qu'elle renvoie le nom du premier?? et le premier avc quel trie?
et s'il te plait c quoi la structure de cette fonction??
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
9 sept. 2010 à 16:35
Cette fonction va trier les noms des fichiers par ordre alphabétique
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010
9 sept. 2010 à 16:53
merci beaucoup,
et si ça te derange pas je vais te demander autre infos ;
comment utiliser le EOF quand on lit un fichier texte
par example:
f=fopen("call_01.txt","r");
fscanf(f,"%s",mot);
je veux que cela se repete jusqu'a la fin du fichier
Merci bcp d'avance
Mohamed
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
9 sept. 2010 à 17:07
Il faut mieux ne pas lire octet par octet. Utilise fseek et ftell pour connaitre la taille de ton fichier et alloue un buffer de cette taille.
Tu fais un fread de tout ton fichier en même temps et tu pourras parcourir ton buffer.
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010
9 sept. 2010 à 17:11
enfait moi je veux lire le texte mot par mot pcq j'en ai besoin de vais chercher dans chaque mot si ca existe la suite "ero331 " par example et moi mon but est de compter le nombre d "ero331" et d'autre , vous voyez ce que je veux??
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
9 sept. 2010 à 17:17
Oui je vois très bien et il faut mieux utiliser ma méthode. Il suffit de faire une boucle sur ton buffer pour chercher ta chaine.
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010
9 sept. 2010 à 17:21
ca serait comment le code donc?
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
9 sept. 2010 à 17:27
Premier lien google quand tu tapes ftell:
http://www.cplusplus.com/reference/clibrary/cstdio/ftell/

une fois que tu as la taille de ton fichier tu fais une allocation dynamique et un fread...


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010
9 sept. 2010 à 17:34
ui mais fread elle ne lit pas tout le fichier en un seule coup??
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 sept. 2010 à 10:51
Vu qu'on t'a deja conseille l'API Windows (FindFirstFile, ...) alors tout faire avec par coherence.
CreateFile, ReadFile, ...

ciao...
BruNews, MVP VC++
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
10 sept. 2010 à 11:24
Aussi bien ReadFile que fread prennent en argument le nombre d'octet à lire...

http://msdn.microsoft.com/en-us/library/aa365467%28VS.85%29.aspx
http://www.cplusplus.com/reference/clibrary/cstdio/fread/

A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
eliramomo Messages postés 14 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 22 septembre 2010
13 sept. 2010 à 17:16
merci de votre aide , ça donne qlq bon resultat mais soudain (TURBO C) que j'utlise , me donne comme erreur not enough memory
y a t il qlq1 qui peu m'aider SVP

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<math.h>
#include<string.h>
#include<dir.h>

void main()
{
struct ffblk ffblk;
int done=0;
FILE *f_call;
char *s;
int mois=0,i,e,som;
int tab[1000]={0};

clrscr();

done=findfirst("*.txt",&ffblk,0);
while(done==0)
{
f_call=fopen(ffblk.ff_name,"r");
while(!feof(f_call))
{
mois++;
fscanf(f_call,"%s",s);
for(i=0;i<100&&i<strlen(s);i++)
if(s[i]=='E')
if(s[i+1]=='R')
if(s[i+2]=='O')
{
som=(s[i+3]-'0')*100+(s[i+4]-'0')*10+(s[i+5]-'0');
tab[som]=tab[som]+1;
}

}
for(i=0;i<1000;i++)
if(tab[i]!=0)
{
printf("%d\t%ld\n",i,tab[i]);
}
getch();

clrscr();
done=findnext(&ffblk);
}
fclose(f_call);
getch();
}
0
Rejoignez-nous