begin process at 2012 05 29 05:32:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Exploitation de fichier en C ?!?!?!


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

Exploitation de fichier en C ?!?!?!

jeudi 6 mars 2003 à 11:34:18 | Exploitation de fichier en C ?!?!?!

GazGaz

lu all

alors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je voudrais récuperer des infos pour les stocker dans des variables et ensuite effectuer quelques stats avec ces variables.

en gros mon algo c'est :
-------------------------------------------------------
ouvrir le fichier xxx
tant que ya des lignes, faire
tu lis une ligne
si dans cette ligne ya telle chaine de caractere alors tu fais l'action x
sinon si ya telle chaine de caractere tu fait l'action y
...
fin si
fin tant que
fermer fichier

faire stats
afficher stats
fin
-------------------------------------------------------------

j'ai mis en place un ptit code qui permet de chercher dans une chaine de caracteres un caractere spécifique :

// trouver un caractere specifique dans une chaine de caracteres ///////////////

typedef char chaine[200];
chaine string;
char *ptr,c;
c='<';
strcpy(string, azerty<19><86176621><viendra> );
ptr=strchr(string,c);

if (ptr != NULL)
{
printf("le caractere %c est a la position %d",c,ptr-string);
}
else
{
printf("not found");
}


------------------------------------------------------
et en fait je voudrait savoir si a la place de "azerty<19><86176621><viendra>"
je pouvai mettre : ligne en cours de lecture du fichier ouvert (bah la ligne lue actuellement koi )

-------------------------------------------------------

voila
jespere que mon message est clair

++

Gaz
_____________________________________________




|| Punk's not dead ||
jeudi 6 mars 2003 à 15:44:24 | Re : Exploitation de fichier en C ?!?!?!

davidsm


Si ton fichier est structuré, comme tu le dis, tu peux utiliser la classe standard "fstream" qui gère les flux de données fichier et pour tes données la classe "string"


-------------------------------
Réponse au message :
-------------------------------

> lu all
>
> alors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je voudrais récuperer des infos pour les stocker dans des variables et ensuite effectuer quelques stats avec ces variables.
>
> en gros mon algo c'est :
> -------------------------------------------------------
> ouvrir le fichier xxx
> tant que ya des lignes, faire
> tu lis une ligne
> si dans cette ligne ya telle chaine de caractere alors tu fais l'action x
> sinon si ya telle chaine de caractere tu fait l'action y
> ...
> fin si
> fin tant que
> fermer fichier
>
> faire stats
> afficher stats
> fin
> -------------------------------------------------------------
>
> j'ai mis en place un ptit code qui permet de chercher dans une chaine de caracteres un caractere spécifique :
>
> // trouver un caractere specifique dans une chaine de caracteres ///////////////
>
> typedef char chaine[200];
> chaine string;
> char *ptr,c;
> c='<';
> strcpy(string, azerty<19><86176621><viendra> );
> ptr=strchr(string,c);
>
> if (ptr != NULL)
> {
> printf("le caractere %c est a la position %d",c,ptr-string);
> }
> else
> {
> printf("not found");
> }
>
>
> ------------------------------------------------------
> et en fait je voudrait savoir si a la place de "azerty<19><86176621><viendra>"
> je pouvai mettre : ligne en cours de lecture du fichier ouvert (bah la ligne lue actuellement koi )
>
> -------------------------------------------------------
>
> voila
> jespere que mon message est clair
>
> ++
>
> Gaz
> _____________________________________________
>
>
>
>
> || Punk's not dead ||
jeudi 6 mars 2003 à 15:48:06 | Re : Exploitation de fichier en C ?!?!?!

vieuxLion

jour,
si ton C ?!?!?! veut dire C++,
je te conseille d'abord de lire ça
http://www.cppfrance.com/article.aspx?Val=1306
en particulier les lignes suivantes
char ligne[80];
while (cin.getline(ligne, 80)) cout << ligne << "|" << endl;
cout << endl;
en remplaçant le "cin" par le nom de ton flux-fichier
par exemple "in" comme dans :
ifstream in("test.txt");

et pendant que je fais de la pub pour mes sources
http://www.cppfrance.com/article.aspx?Val=1404

... sinon, il faut adapter la techique au C, lire une ligne dans un buffer ...

-------------------------------
Réponse au message :
-------------------------------

> lu all
>
> alors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je voudrais récuperer des infos pour les stocker dans des variables et ensuite effectuer quelques stats avec ces variables.
>
> en gros mon algo c'est :
> -------------------------------------------------------
> ouvrir le fichier xxx
> tant que ya des lignes, faire
> tu lis une ligne
> si dans cette ligne ya telle chaine de caractere alors tu fais l'action x
> sinon si ya telle chaine de caractere tu fait l'action y
> ...
> fin si
> fin tant que
> fermer fichier
>
> faire stats
> afficher stats
> fin
> -------------------------------------------------------------
>
> j'ai mis en place un ptit code qui permet de chercher dans une chaine de caracteres un caractere spécifique :
>
> // trouver un caractere specifique dans une chaine de caracteres ///////////////
>
> typedef char chaine[200];
> chaine string;
> char *ptr,c;
> c='<';
> strcpy(string, azerty<19><86176621><viendra> );
> ptr=strchr(string,c);
>
> if (ptr != NULL)
> {
> printf("le caractere %c est a la position %d",c,ptr-string);
> }
> else
> {
> printf("not found");
> }
>
>
> ------------------------------------------------------
> et en fait je voudrait savoir si a la place de "azerty<19><86176621><viendra>"
> je pouvai mettre : ligne en cours de lecture du fichier ouvert (bah la ligne lue actuellement koi )
>
> -------------------------------------------------------
>
> voila
> jespere que mon message est clair
>
> ++
>
> Gaz
> _____________________________________________
>
>
>
>
> || Punk's not dead ||
jeudi 6 mars 2003 à 18:17:13 | Re : Exploitation de fichier en C ?!?!?!

GazGaz

vi c du c mon truc
|| Punk's not dead ||


-------------------------------
Réponse au message :
-------------------------------

> jour,
> si ton C ?!?!?! veut dire C++,
> je te conseille d'abord de lire ça
> http://www.cppfrance.com/article.aspx?Val=1306
> en particulier les lignes suivantes
> char ligne[80];
> while (cin.getline(ligne, 80)) cout << ligne << "|" << endl;
> cout << endl;
> en remplaçant le "cin" par le nom de ton flux-fichier
> par exemple "in" comme dans :
> ifstream in("test.txt");
>
> et pendant que je fais de la pub pour mes sources
> http://www.cppfrance.com/article.aspx?Val=1404
>
> ... sinon, il faut adapter la techique au C, lire une ligne dans un buffer ...
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > lu all
> >
> > alors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je voudrais récuperer des infos pour les stocker dans des variables et ensuite effectuer quelques stats avec ces variables.
> >
> > en gros mon algo c'est :
> > -------------------------------------------------------
> > ouvrir le fichier xxx
> > tant que ya des lignes, faire
> > tu lis une ligne
> > si dans cette ligne ya telle chaine de caractere alors tu fais l'action x
> > sinon si ya telle chaine de caractere tu fait l'action y
> > ...
> > fin si
> > fin tant que
> > fermer fichier
> >
> > faire stats
> > afficher stats
> > fin
> > -------------------------------------------------------------
> >
> > j'ai mis en place un ptit code qui permet de chercher dans une chaine de caracteres un caractere spécifique :
> >
> > // trouver un caractere specifique dans une chaine de caracteres ///////////////
> >
> > typedef char chaine[200];
> > chaine string;
> > char *ptr,c;
> > c='<';
> > strcpy(string, azerty<19><86176621><viendra> );
> > ptr=strchr(string,c);
> >
> > if (ptr != NULL)
> > {
> > printf("le caractere %c est a la position %d",c,ptr-string);
> > }
> > else
> > {
> > printf("not found");
> > }
> >
> >
> > ------------------------------------------------------
> > et en fait je voudrait savoir si a la place de "azerty<19><86176621><viendra>"
> > je pouvai mettre : ligne en cours de lecture du fichier ouvert (bah la ligne lue actuellement koi )
> >
> > -------------------------------------------------------
> >
> > voila
> > jespere que mon message est clair
> >
> > ++
> >
> > Gaz
> > _____________________________________________
> >
> >
> >
> >
> > || Punk's not dead ||
>
vendredi 7 mars 2003 à 00:27:59 | Re : Exploitation de fichier en C ?!?!?!

jonathanmcdougall

> en gros mon algo c'est :
> -------------------------------------------------------

# include <fstream>

> ouvrir le fichier xxx

std::ifstream file(xxx);

> tant que ya des lignes, faire
> tu lis une ligne

char buffer[MAX_LIGNE + 1];
std::string temp;

while (file.getline(buffer, MAX_LIGNE))
{

> si dans cette ligne ya telle chaine de caractere alors tu fais
>l'action x

temp(buffer);

if (temp.find("telle chaine") != std::npos)
{
x();
}

> sinon si ya telle chaine de caractere tu fait l'action y

else if (temp.find("telle autre chaine") != std::npos)
{
y();
}

> ...

else ...

> fin si

}

> fin tant que

}

> fermer fichier

file.close()

>
> faire stats

stats();

> afficher stats

show_stats();

> fin

return 0;
}


--
Jonathan Mcdougal
Montréal, Québec
mcdougalljonathan@hotmail.com
http://www.multimania.com/utopiasoftware


vendredi 7 mars 2003 à 00:45:38 | Re : Exploitation de fichier en C ?!?!?!

jonathanmcdougall

> if (temp.find("telle chaine") != std::npos)
> else if (temp.find("telle autre chaine") != std::npos)

C'est std::string::npos, désolé.

Jonathan
mardi 8 avril 2003 à 17:18:14 | Re : Exploitation de fichier en C ?!?!?!

GazGaz

okay donc jessaye ton truc et je met
std::string::npos
a la place de
std::string temp;

thx
_______________________________
|| Punk's not dead ||


-------------------------------
Réponse au message :
-------------------------------

> > if (temp.find("telle chaine") != std::npos)
> > else if (temp.find("telle autre chaine") != std::npos)
>
> C'est std::string::npos, désolé.
>
> Jonathan
>


Cette discussion est classée dans : fichier, ligne, chaine, caractere, ptr


Répondre à ce message

Sujets en rapport avec ce message

chaine de caractere de taille variable [ par habibdu70 ] slt,savez vous comment modifier la taille d'une chaine de caractere ?par exemple si le nom de fichier fait 8 caracteres, je creai un fichier de 8 cara lire un fichier txt ligne par ligne [ par lapinrose67 ] Bonsoir,Je developpe un logiciel en C sous Linux, voila mon problème:Je dois lire un fichier texte ligne par ligne et placer chacune d'entre ellesdans comment extraire un fichier csv ligne par ligne avec visualc++? [ par ngatcha ] bonjour,comment puis je extraire un fichier csv ligne par ligne avec visualc++? J'ai un eproposition de solution mais il y ' a des erreurs dans le co Rechercher une chaine de caractere dans un fichier [ par watch_3754 ] Voila mon probleme peut paraitre simple mais moi ca devient enervant.Je voudrai pouvoir rechercher dans un fichier (qui n'est pas en forme de tableau) ajout chaine dans un fichier apres une autre [ par Bassman ] je m'explique :) en faite j'ai un fichier avec plusieurs lignes et chaines de caractere et je voudrais rajouter une chaine de caractere apres une aut lire ligne par ligne dans un fichier [ par shadow1779 ] Bonjour, je me demandais comment c'est possible de faire d'un fichier texte une petite base de donnée c'est a dire de mettre des informations ligne p Récuperer une chaine 3 caractère dans une chaine de caractère ? [ par Atomos83 ] Bonjour, alors voila je vous expose mon problème :Je doit scanner un fichier, chaque ligne du fichier est de a meme forme, seul les 3 dernieres caract lire une chaine de caractere dans un fichier et la camparer aux autres chaines dans le meme fichier [ par leiloula ] j'ai pa pu programmé un truc qui me permet de lire une chaine de caractere dans un fichier et la camparer aux autres chaines dans le meme fichier et v 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 probleme chaine de caractere [ par romainbisson ] Bonjour,j'ai cette chaine de caractere dans un texte :2008-03-18 01:46:50 Local0.Debug 10.230.10.25 enterprise=1.3.6.1.4.1.232 enterprise_mib_name=com


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,686 sec (3)

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