begin process at 2012 05 30 14:57:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

récup de donnée dans un fichier text


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

récup de donnée dans un fichier text

vendredi 2 janvier 2004 à 14:33:24 | récup de donnée dans un fichier text

ymlf

Je veux récupere des données dans un fichier teste qui sont contenu entre une chaine de caractere et " .

Aucun problème pour des petits fichier mais j'explose la memoire des que le fichier atteint 5k

Auriez vous une idee?



/**************************************************************************************************
Fonction lecture_fichier
Parcourt du script source VB puis recupère l'ensemble des timers du fichier
Retourne le nomnre de timer et un tableau
**************************************************************************************************/
struct timer
{
int nombre;
string nom[20];
};

/********************************** Fin de la fonction ****************************************/

timer lecture_fichier(char *chaine,char *nom_scn)
{
FILE *File;
int i = 0;
int j = 1;
int n = 0;
char tab[10000];
timer timer;
char tim[15];
char nom_fic[256];
*c;
char cheminsrc[256] ="c:\\\\progra~1\\\\citratest\\\\";
strcpy(nom_fic,nom_scn);
strcat(cheminsrc,nom_fic);
strcat(cheminsrc,"\\\\");
strcat(cheminsrc,nom_fic);
strcpy(nom_fic,cheminsrc);
strcat(nom_fic,".bas");
printf("\\nrecherche des timers, parcours du fichier %s.\\n", nom_fic);
memset(tab, 0, 10000); // buffer a 0
File = fopen(nom_fic, "r");
while((tab[i] = fgetc(File))!= EOF) i++; // ecrit le fichier dans le buffer
c = tab; // pointeur sur le buffer
while(c = strstr(c, chaine))
{
// c pointe sur StarTimer,ajout strlen(chaine)+3 pour pointer sur ce qu'il y a apres le "
c += strlen(chaine)+3;
i = 0;
while(*c != '"')
{
tim[i++] = *c++; // copie
}
tim[i] = 0; // zero final
printf("%s %i: %s\\n",chaine,j, tim);
timer.nom[j]=tim;
j++;
}
timer.nombre=j-1;
if( fclose( File ) )
_fcloseall();
return timer;
}
vendredi 2 janvier 2004 à 15:33:03 | Re : récup de donnée dans un fichier text

BruNews

Administrateur CodeS-SourceS
Tu retournes une variable LOCALE, elle est invalide en sortie de ta fonction.
Tes variables locales sont tres grosses, procede a une alloc dynamique sinon tu risques fort de faire sauter la pile.
Pour la Xeme fois, on ne lit pas un fichier octet par octet, aspire une partie dans un buffer et traite en memoire.
BruNews, ciao...


Cette discussion est classée dans : fichier, timer, chaine, char, fic


Répondre à ce message

Sujets en rapport avec ce message

PROBLEME pour retourner un char* a partir d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang PROBLEME pour retourner un char* apres recuperation d'une chaine(sscanf) d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang probleme avec ifstream et ofstream [ par kobee12 ] J'ai un petit probleme dans mon programme. J'ai voulu inserer une fonction de cryptage pour crypter et decrypter un fichier. Le probleme c'est que j'a recherche d'une chaine dans un fichier [ par ymlf ] Problème au niveau du scanf()int recherche(char *chaine,char *FileName){ int i, k; char *tmp, *tab[50], *timer[20]; FILE *svf; svf=fopen(FileName,"r problème d'ouverture et de lecture d'un fichier [ par Trinity_vv ] J'ai fais un code d'ouverture et d'affichage d'un fichier, tout marchait très bien. Sans exagérer 10 minutes plus tard, je le régénére et il ne veut p fichie texte [ par cedric3456 ] bonjour je suis tres nul en c++ je debute pouvez vous m'aidez je cherche a faire 3 fonction sur Dev-C++ 4.9.9.2fonction :ecrire (nom_fichier,chaine_ch Ordre dans les déclarations de variables ??! [ par vincemail ] Bonjour à tous, je suis en train de faire un programme en C++ avec devC++, et je viens de trouver un bug que je n'arrive pas à comprendre, je veux sto Problème avec "fclose" [ par Polack77 ] Bonjours, cas fais 2 heures que je cherche mon bug et je ne trouve pas! C'est frustrant!J'ai fais pas mal de test et je ne trouve rien.Je met donc mon Runtime ?! [ par Chaminouonw ] Bonjour, je tente de faire un programme qui supprime les accents d'un fichier, voila mon source : #include #include plantage avec free( ) !!! [ par ElectricalMan ] slt tt le monde,j'ai un beau plantage avec la fonction free !  donc si qq peut m'aider pck je tourne en rond.j'ai mis en bleu les parties concernées.


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales