begin process at 2012 05 29 12:37:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Fichier & Disque

 > 

Modification virgule fichier .txt


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

Modification virgule fichier .txt

dimanche 20 mars 2011 à 14:03:22 | Modification virgule fichier .txt

necromoine

Bonjour, je souhaite faire un code qui permet de mettre un retour à la ligne apres chaque virgule d'un fichier texte, qui ressemblerait à :
Contenu texte :
a,b,c

Qui doit devenir
a,
b,
c

J'ai fait un code qui est le suivant :
Code C/C++ :
#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE* texte = NULL;

    int lettre = 0;
    texte = fopen("virgule.txt", "r+");
        if (texte!=NULL){
            lettre = fgetc(texte);
            while (lettre != EOF){
                if (lettre == ','){
                    //fputs("\n", texte);
                    printf("%c", lettre);
                    fputs("\n",texte);
                }


            lettre = fgetc(texte);

        }

    fclose(texte);
    }
    else {

    printf("Impossible d'ouvrir le fichier virgule.txt");

    }


    return 0;

}


J'ai trouvé d'ou viens l'erreur, c'est au moment de l&#8217;écriture, savez vous pourquoi ?


Merci
lundi 21 mars 2011 à 11:04:11 | Re : Modification virgule fichier .txt

BruNews

Administrateur CodeS-SourceS
Quand tu ecris un '\n', tu n'ecrases rien dans le fichier ???

ciao...
BruNews, MVP VC++
lundi 21 mars 2011 à 11:41:51 | Re : Modification virgule fichier .txt

aymen87

je suppose parce que tu ouvre le fichier en mode r+ et non pas w+
mardi 22 mars 2011 à 14:01:09 | Re : Modification virgule fichier .txt

ed73

Réponse acceptée !
Bonjour,

En fait tu veux intercaler des \n dans ton fichier. a,b,c deviendra donc a,\nb,\nc.

On voit que la taille du fichier va augmenter, dans ce cas il n'est pas possible d'utiliser le même fichier en lecture et en écriture car tu vas forcément écraser des données, comme le dit fort justement BruNews.

La bonne solution et d'ouvrir ton fichier en lecture, et un autre en écriture dans lequel tu écriras tes données au fur et à mesure de la lecture et où tu inséreras des \n là où il faut.

mardi 22 mars 2011 à 15:13:00 | Re : Modification virgule fichier .txt

necromoine

Merci pour cette réponse, j'ai effectivement trouvé dans un exemple de code, que le mode d'ecriture avec un "+" comportait des contraintes, il faut par exemple, replacer le curseur apres la lecture d'un caractère pour pouvoir ecrire (les deux actions ne peuvent avoir lieu l'un apres l'autre.
Je vais donc faire avec deux fichiers, je vous tiens au courant.
Merci encore pour votre aide.
mardi 22 mars 2011 à 18:01:40 | Re : Modification virgule fichier .txt

necromoine

Voilà, mon code ressemble à ca :
Code C/C++ :
#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *texte = NULL, *final = NULL;

    int lettre = 0;
    char lol = "";
    texte = fopen("virgule.txt", "r");
    final = fopen("final.txt", "w");
        if (texte!=NULL){
            lettre = fgetc(texte);
            while (lettre != EOF){
                lol = lettre;
                if (lettre == ','){
                    //fputs("\n", texte);
                    fputs("\n", final);
                }
                fprintf(final, "%c", lol);


            lettre = fgetc(texte);

        }


    }
    else {

    printf("Impossible d'ouvrir le fichier virgule.txt");

    }
fclose(texte);
fclose(final);

    return 0;

}


Mais y'a t'il un moyen de remplacer la virgule par le \n (d'ailleur je ne comprend pas pourquoi elle est la...)
mercredi 23 mars 2011 à 09:52:28 | Re : Modification virgule fichier .txt

ed73

Bonjour,

Au vu de ton code, il me semble que ton fichier final ressemblera à :

a
,b
,c

Si tu veux remplacer la virgule par \n, modifie simplement ton code ainsi :

if (lettre == ',')
fputs("\n", final);
else
fprintf(final, "%c", lol);



Cette discussion est classée dans : fichier, texte, txt, lettre, virgule


Répondre à ce message

Sujets en rapport avec ce message

extraction d'un texte dans un fichier *.txt [ par sir51 ] bonjour, je suis etudiant, et je debute le c++. J'ai un DM a rendre .Sujet :extraire un champ texte dans un fichier txt prealablement creé... Help!!! fichier texte [ par boiron ] bonjourje dois copier un fichier texte (file1.txt) dans un autre fichier texte (merge.txt) en format ascii et je dois ensuite ajouter à la suite du te Lire et écrire un fichier .txt avec du C [ par Hkz ] Bonjours a tousJ'ai codé un programme qui code du texte, mais pour l'instant il faut lui rentrer le texte par le clavier se qui n'est pas très pratiqu [.NET] fichier texte + indice [ par fab3131 ] Bonjour à tousEnfait j'ai un fichier texte sur le disque dur et lorsque j'appui sur un bouton il me le déplace dans un autre endroit, j'utilise pour ç création de fichier texte [ par dissaben ] Bonjour, Je suis arrivé à créer un fichier texte, afin le code compilé ne genère  aucune erreur, mais je voudrais savoir ou se trouve le fichier texte Copier Edit dans fichier TXT (...sans Dialog) [ par papi2 ] Bonjour, Lorsque je copie le contenu de l'Edit dans le fichier texte:- 1ère fois... pas de problèmes.-2ème fois... 3ème... etc... (chaque fois, avan C++ et fichier texte [ par olobo ] bonjour ! j'ai besoin d'aide pour 2 problème svp [^^happy13] [u]Problème 1 [/u] Voila j'aimerais pouvoir lire les ligne d'un fichier texte qui est a fonction seekg [ par infodaoudi ] Bonjour, je'aimerai bien savoir s'il ya un equivalement de la fonction seekg pour un fichier txt. Je m'explique j'ai un fichier txt composé des donnée Fichier Texte, Affichage et TEMPS RÉEL [ par proggen ] Bonjour, je veut coder un prog en temps réel. Celui-ci doit traiter des informations arrivant à chaque 0.25 secondes dans un fichier texte et ensuite Probleme fichier .txt vers . doc [ par jerem0lim ] Bonjour voilà j'ai un petit problème , je suis étudiant en bts iris et mon projet de fin d'année me demande de crée un fichiers .doc en C++ ,je suis s


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 : 1,217 sec (3)

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