Accueil > Forum > > > > modifier un mot dans un fichier
modifier un mot dans un fichier
jeudi 10 mai 2007 à 16:28:57 |
modifier un mot dans un fichier

krusty24
|
bonjour tout le monde le but de mon programme est de modifier un mot dans un fichier. exemple de fichier: 2,3 4,5 6.7 8,9 1.3 2,4 5.7 6,8 par exemple je souhaite remplacer "2,3" par "yep" voici le code: int main () { FILE *falire, *fcorr; // descripteur de fichier unsigned char cach, cmod, tmp;//pour changer un caractere int i=0, j=0, k, espace=0, lgTab, nbBlanc, opt, comp; char *nomFic="", *nomFic_corr="";//nom des fichiers char *tabCh, *tabRes;//passer des tabulation au espace (et reciproquement) char *wach, *wmod, *temp; //pour changer un mot
printf("\nenter the name of the input file (with extension):"); nomFic=malloc(256*sizeof(char)); scanf("%s",nomFic); falire=fopen(nomFic,"r"); if (falire==NULL) { printf("error %s: file not found\n",nomFic); system("PAUSE"); exit(0); } printf("enter the name to create the output file: "); nomFic_corr=malloc(256*sizeof(char)); scanf("%s",nomFic_corr); //ouverture du fichier de sortie fcorr=fopen(nomFic_corr,"w"); if (fcorr==NULL) { printf("\nerror: cannot create the result file\n"); system("PAUSE"); exit(0); } //quelle mot modifier par lequel? printf("Which word do you want to change?\n"); fflush(stdin); wach=malloc(256*sizeof(char)); scanf("%s",wach); fflush(stdin); printf("By which word?\n"); wmod=malloc(256*sizeof(char)); scanf("%s",wmod); //modification des données du fichier temp=malloc(256*sizeof(char)); while (fscanf(falire,"%s",temp)!=EOF) { comp=strcmp(temp,wach); if (comp==0) { fprintf(fcorr,"%s ",wmod); } else { fprintf(fcorr,"%s ",temp); } } }
le resultat de cette aplication est le suivant: yep 4,5 6.7 8,9 1.3 2,4 5.7 6,8 or ce n'est pas exactement se que j'attend car les espace ainsi que les retour a la ligne ne sont pas respecté. Mon probleme est que le fichier d'entré n'a pas un format précis. voila mon probleme je remercie d'avance toute personne essayant de m'aider
|
|
jeudi 10 mai 2007 à 16:34:31 |
Re : modifier un mot dans un fichier

laurent1024
|
je crois que le fscan ca bouffe le \n de la fin. Soit tu dois faire un tableau avec un case de plus que ce que tu lit et tu le rajoute a la fin, soit utlise la fonction read ++
|
|
jeudi 10 mai 2007 à 16:40:27 |
Re : modifier un mot dans un fichier

krusty24
|
decidement laurent tu es partout lol
si j'ai bien compris tu me conseil de faire un tableau de chaine de caractere ou pas ??
pour ce qui est de la fonction read, elle peut s'apliquer sur mon exemple, mais je ne sachant pas vraiment la taille des elements du fichier je ne pense pas que se soit possible.
merci encore un fois
|
|
jeudi 10 mai 2007 à 16:44:42 |
Re : modifier un mot dans un fichier

laurent1024
|
le plus simple c'est de remplacer ton fprintf(fcorr,"%s ", ... ) par fprintf(fcorr,"%s\n",
par contre je sais pas si ca va marcher a tout le coup. Pour la fonction read = tu lui demande de lui x octets et elle le met dans le buffer que tu lui passe. en retour elle te renvoit le nombre qu'alle a réellement lu. quand elle te renvoit moinsque ce qu'elle devrait c'est que c'etait le dernier morceau. ++
|
|
jeudi 10 mai 2007 à 16:50:13 |
Re : modifier un mot dans un fichier

krusty24
|
le probleme, si j'utilise fprintf(fcorr,"%s\n", je vais me retrouver avec un fichier qui ressemblerai a sa yep 4,5 6.7 8,9 1.3 2,4 5.7 6,8 or sa ne me convient pas non plus (tu va surement penser quelle relou celui la  ) et pour se qui est du read si je lui met 3 il va me sortir par exemple 4,5 mais si je me retrouve avec des valeur tel que 3,4583928, sa ne marche plus je suis vraiment coincer dans la semoule epaisse lol
|
|
jeudi 10 mai 2007 à 18:49:08 |
Re : modifier un mot dans un fichier

laurent1024
|
ce que tu peut faire : tu lis une ligne avec fgets (http://www.cplusplus.com/reference/clibrary/cstdio/fgets.html) apres tu parcours la chaine que tu as trouvé et tu la découpe en prennant les espaces et les tabulations comme caracteres de séparation. tu compares chaque morceau de chaine avec ta chaine que tu veux remplacer. et apres tu réécris la ligne (modifié ou non) dans ton fichier de sortie
++
|
|
Cette discussion est classée dans : fichier, file, char, nomfic, fcorr
Répondre à ce message
Sujets en rapport avec ce message
Erreurs de compilations bizarres avec Visual C++ 6 [ par VTS_35 ]
Bonjour,G encore des problèmes de compilation avec mon programme. Je me suis rendu compte que le programme allait devenir balaise, alors j'ai décidé d
Problème copie de fichier.... [ par Clonk ]
Bonjour,Je voudrais copier un fichier texte dans mon appli, j'ai fais la fonction suivante://Copie d'un fichier (création du backup)int copier(char *
cherchet afficher un ou plusieurs ligne d'une fichier texte . [ par brell ]
bon jour! cette fonction a comme parametre fichier contenant les messages et une chaine de caracteres contenant le destinateur. cette fonction permet
suppression d'une structure dans un fichier [ par ragon ]
bonjour, je souhaite simplement supprimer toute une structure d'un fichier, mais je n'y arrive pas. Voila mon code, j'ai essayé un truc mais ca fonct
enregister un fichier depuis les ressources [ par baby3378 ]
Bonjour à tous, Voilà, afin de faciliter l'utilisation d'une application j'ai décidé de stocker les images et dll en ressource dans mon application af
Problème pour stoker une string dans un char* [ par Faroww ]
Salut, Alors voici mon problème j'utilise une OpenFileDialog (Parcourir)pour permette a l'utilisateur de choisir un fichier. Je récupéré le patch du
C dup utilisation [ par Tom59247 ]
Bonjour à tous ! Je réalise actuellement un petit programme qui me permet de mettre quelques infos dans un fichier txt. Après quelques recherches j'
demande d'aide (Gestion des fichiers et structures en C) [ par medsky ]
Bonjour, Afin de manipuler les fichiers et les structures en C, On m'a demandé de réalisé une application qui cree un fichier pour saisir les inform
Demande l'aide des meilleurs ! ;) [ par jekburn ]
Bonjour, Le programme suivant devrait d'en un futur proche sortir et enregistrer toutes les adresses mail existantes. Mais là, la fatigue surement !
Ouvrir le nom d'un fichier dans une chaîne de caractères [ par noname001 ]
Bonjour à tous, J'ai un soucis dans le développement d'un programme. En effet, j'ouvre tout d'abord un fichier.txt qui contient toute une liste de no
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|