begin process at 2012 05 28 22:56:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

conversion de fichiers


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

conversion de fichiers

vendredi 20 février 2004 à 18:14:22 | conversion de fichiers

sergio18

salut
Je fais un projet où je dois faire une conversion du fichier.POur cela le prof qui me suit m'a demandé d'effectuer ds un premier temps une lecture ligne par ligne du fichiers et ensuite de comparer les mots.Pour la lecture ligne par ligne,j'ai utilisé fgets et puisque cette fonction ne rencoie que la premiere ligne du fichier,j'ai fait un boucle jusqu'au nbre de lignes du fichier.Jusque là pas de pb mais ma question est:peut-on retrouver des mots avec fgets pr ensuite les comparer?et sui oui comment?
merci d'avance




vive le c++
vendredi 20 février 2004 à 18:36:32 | Re : conversion de fichiers

hilairenicolas


fgets te renvoie une chaine de caractere ;
reste plus qu'a la comparer avec les fonctions de <string.h> (strcmp par exemple)
dimanche 22 février 2004 à 01:34:23 | Re : conversion de fichiers

goondy

Non, fgets te renvoie une chaine de caractères comme te le dit hilairenicolas.
Mais avant de faire des strcmp, il faut que tu extrais les mots des lignes que t'as chopé.
Sois tu le fais toi même : tu parcours la chaine de caractères et à chaque espace bah tu passes à un autre mots (ce que je ferais)... sois tu va voir un peu les sscanf mais ça sera sans doute plus long et plus compliqué!

PS : fais gaffe car le fgets prends le caractère '\n' et le mets dans la chaine, contrairement au gets qui le remplace par '\0'.
mardi 24 février 2004 à 18:54:25 | Re : conversion de fichiers

sergio18

Je tiens tout d'abord à vous remercier pr vos reponses et j'avais pensé à cette solution à savoir parcourir la chaine et passer à un autre mot à chaque espace mais je ne sais pas comment le coder en C++.Si vous pouvez m'aider j'en serais très heureux.


vive le c++
mardi 24 février 2004 à 19:27:47 | Re : conversion de fichiers

goondy

char string[100]; // ou plus
char mot[20];
int posmot, poschaine=0;
fgets(string, taille, fichier);
while((string[poschaine] != '\0') && (string[poschaine] != '\n')) // condition de fin de chaine
{
posmot=0; // pour le premier caractère du mot
while(string[poschaine+posmot] != 0x20) // 0x20 = code hexa de l'espace
{
mot[posmot] = string[poschaine+posmot];
posmot++;
}
// éventuellement, pour fermer la chaine...
mot[posmot] = 0x00;

// et à cet endroit la, tu as un mot!

poschaine++;
}


***********************

j'ai fait ca à la volée sans tester... mais si y a bug, t'as quand meme matiere a...
mardi 24 février 2004 à 19:41:16 | Re : conversion de fichiers
mardi 24 février 2004 à 19:42:14 | Re : conversion de fichiers

goondy

euh, fais gaffe, je viens de me rendre compte d'une bourde, le "poschaine++" c'est plutot "poschaine += posmot"!
mardi 24 février 2004 à 19:48:29 | Re : conversion de fichiers

sergio18

ok merci je vais le tester.j'ai une autre question:
toi ds ton fgets tu utilise string qui est un tableau de char.moi g utilisé un char*;ça change quelque chose ou pas?



vive le c++
mardi 24 février 2004 à 20:02:18 | Re : conversion de fichiers

goondy

regarde mieux la déclaration :

char string[100];


-> c'était pour être plus clair (et c'est raté lol).
le string que j'ai déclaré est un char * ... mais appelle le autrement genre, "ligne" ... sinon ton compilateur risque de ne pas apprécier!
mardi 24 février 2004 à 20:05:48 | Re : conversion de fichiers

goondy

Attends... j'ai ptet compris ce que tu voulais dire!
T'utilises un char * ... mais moi aussi...
Tu fais une allocation dynamique ?

tu ne peux pas faire :

char *ligne;
fgets(ligne, taille, fichier);


car la mémoire de ton char * n'a pas été allouée!

quand tu déclares : char ligne[100] , ligne est un char *.

1 2

Cette discussion est classée dans : fichier, lecture, ligne, fichiers, conversion


Répondre à ce message

Sujets en rapport avec ce message

lecture de fichier [ par Machuet ] Hello, j'ai plusieurs question concernant la manipulation de fichier. En effet venant de VB, j'aimerais savoir si il existe des fonction pour lire un conversion de fichiers en C. [ par primo177 ] Bonjour tout le monde.J'aimerais savoir svp s'il existe un moyen de convertir un fichier word ( .doc) en uin fichier (.txt).Merci d'avance.C'est vraim Tableau multidimensionel et fichiers [ par AngeloVivaldi ] slt à tous.Voila, je voudrai mettre dans un tableau multidimensionel chaque ligne d'un fichier, puis modifier une ligne du tableau pour le réécrire da Lecture d'un fichier via HTTP [ par koze ] Bonjour, mon application a besoin d'aller lire un fichier sur un serveur distant. J'utilise les API suivantes : InternetOpen InternetConnect HttpOp Lecture sur un fichier par ligne [ par gagaet22 ] Bonjour, Je cherche à lire sur un fichier ligne par ligne.J utilise fscanf et il s arrete des qu il y a un espace... Je cherche donc une fonction qui lecture de fichiers avec c++ builder [ par TheLenain ] Bonjour,J'ai à ouvrir un fichier texte avec c++ builder 4 et pour cela j'ai utilisé les fonctions de l'api win32 (createfile et readfile).Mais seuleme probleme de fichiers [ par sergio18 ] Bonjourj'ai un soucis pour recuperer une chaine de caractère.voici le code:Class Fichier{Lire();}Fichier::Fichier(){FILE *fichier;fichier=fopen(nomfic C => lecture d'un fichier texte [ par lapeto_k ] J'ai un fichier "fichier.txt" dans lequel LA ligne suivante apparait "library1#library2#library3#........"Ce que je voudrai c'est stocker les characte lecture d'un fichier ligne par ligne [ par oudkaramla ] salut à tous,j'ai un problème: j'ai un fichier texte contenant quatre lignes.moi je veux lire ces quatre lignes et les stocker chacun dans une variabl Ouverture fichier voumineux.... [ par Clonk ] Bonjour,J'ai une appli en C++ ou je dois ouvrir plusieurs fichiers texte qui peuvent faire plusieurs mégas (jusqu'à 5megs pour le moment...)Je dois le


Nos sponsors


Sondage...

Comparez les prix

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

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