begin process at 2010 02 10 05:00:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Fichier & Disque

 > 

probleme modification fichier


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

probleme modification fichier

jeudi 26 octobre 2006 à 00:13:14 | probleme modification fichier

gusdark

salut , j'ai un probleme :
j'ai fait un code pour modifier une ligne d'un fichier :
-il copie les premieres lignes jusqu'a la ligne a modifier dans un autre fichier
-il rentre le ligne modifiéé dans le nouveau fichier a la suite
-il complete le nouveau fichier avec les lignes qui suivent dans le fichier d'origine

seul probleme , c'est que dans le nouveau fichier :
-il m'affiche les premieres lignes
-il m'affiche le ligne modifiéé
-il m'affiche la ligne d'origine qui etait a modifier
-il m'affiche les reste des lignes

j'aimerai qu'il ne m'affiche pas l'originale de la ligne a modifier dans le nouveau fichier
je sais que j'ai un probleme avec la position du curseur dans le fichier , mais des que j'ai changé des trucs dans le code source , ca faisais planter le programme et redemarrage a chaque fois
est ce que vous pourriez m'aider et me dire ce qui ne va pas plz ?
je vous montre mon code.

int sauvegarderNiveau(int niveau[][NB_BLOCS_HAUTEUR], int numeroLvl)
{
//variables
    FILE* fichier = NULL;
    FILE* fichier2 = NULL;
    int caractereLu = 0;
    char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0};
    int numeroLvl1 = numeroLvl;
    int i = 0, j = 0, k = 0;
    fichier = fopen("niveaux.lvl", "r");
    fichier2 = fopen("niveaux2.lvl", "w+");

    if (fichier == NULL || fichier2 == NULL)
        return 0;

    rewind(fichier);
//affiche les premieres lignes
    while ( k < numeroLvl1)
    {
        fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1, fichier);
        fputs(ligneFichier,fichier2);
        caractereLu = fgetc(fichier);
        if (caractereLu == '\n')
        {
            fputs("\n",fichier2);
            k++;
        }
    }
//affiche la modification de la ligne a modifier
    for (i = 0 ; i < NB_BLOCS_HAUTEUR ; i++)
    {
        for (j = 0 ; j < NB_BLOCS_LARGEUR ; j++)
        {
            fprintf(fichier2, "%d", niveau[j][i]);
        }
    }
    fputs("\n",fichier2);
    k++;
//affiche le reste des lignes
    while(k <= 4)
    {
        fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1, fichier);
        fputs(ligneFichier,fichier2);
        caractereLu = fgetc(fichier);
        if (caractereLu == '\n')
        {
            fputs("\n",fichier2);
            k++;
        }
    }
    fclose(fichier2);
    fclose(fichier);
    remove("niveau.lvl");
    rename("niveau2.lvl","niveau.lvl");

    return 1;
}

jeudi 26 octobre 2006 à 00:39:00 | Re : probleme modification fichier

ToToL

Membre Club
un simple fgets dans le vide apres le fputs de ta ligne modifié doit suffir
jeudi 26 octobre 2006 à 13:01:39 | Re : probleme modification fichier

gusdark

j'ai rajouté cette ligne :
fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR+1,fichier);
juste pares le fputs("\n",fichier2); de la ligne modifiée , mais ca a planté et je me retrouve avec un fichier niveau2.lvl qui prend 300 000 - 400 000 ko donc ya unn probleme et je vois pas ou........ c tres frustant.
qqn a une solution
merci quand meme a toi totol.

gusdark [:)]


Cette discussion est classée dans : fichier, affiche, ligne, nb, fichier2


Répondre à ce message

Sujets en rapport avec ce message

[C] lignes d'un fichier dans un tableau : Segmentation fault [ par Michel76 ] Bonjour,Pardonnez-moi de cette question de débutant.Soit un fichier contenant :-----001002-----Je souhaiterais mettre chacune des lignes de ce fichier fichier ligne par ligne [ par blinix123 ] Yop!Bon voilou, je ne suis pas fortiche dans la manipulation de fichiers ^^J'ai un fichier qui contient des lignes de suite de nombre: 000112033011140 Ligne par ligne [ par Ziman ] Bonjour,d'habitude, j'utilise ReadFile pour lire dans un fichier, mais comment doit-je faire si je veux lire dans le fichier ligne par ligne ? Y a-t-i manipulation des fichiers avec c++ [ par zing_tun ] Salut , c Anis de tunis ,en ce moment je suis en stage et je suis charger de developper un outil de synchronisation entre de base de donnees .le conte manipulation d'un fichier [ par Stiko ] slt; c'est une programme pour ouvrire un fichier 'toto.txt', la premiere partie est pour afficher le cntenu de fichier dans la cosole et la deuxiéme ofstream et écriture dans un fichier texte [ par bobybx ] Bonjour,J'ai une question peut-être bête mais je suis bloqué :J'ai un fichier texte avec 3 lignesligne 1ligne 2ligne 3Le contenu de ces lignes varient gestion de fichiers en C [ par selmaensi ] bonjour,je voudrais savoir comment faire une modification directe sur un fichier enC (le fichier est un bloc note;document texte) qui contient des enr supprimer une ligne contenu dans un fichier txt [ par cobra176 ] bonjour a tousje recherche un code permettant de retirer une ligne contenu dans un fichierj'ai vu qu'il existé déja des codes permettant cela mais j'a Comment recuperer tous le contenu d'un fichier (avec saut de ligne et en c++) ? [ par ndubien ] Bonjour,Je cherche à savoir comment il faut faire pour prendre tous le contenu d'un fichier (texte) possedant des retours à la ligne!J'ai l'hbitude de lecture fichier et test des lignes... [ par jojomillenium ] Bonjour, J'aimerai lire un fichier qui ressemble a ca: KJ  1 3 5; I  OPL; B 12 34 78, 90; I  PPL; et ainsi de suite des lignes qui ne sont pas du meme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,281 sec (4)

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