IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

fonction effacer ligne


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut fonction effacer ligne
    re-salut,

    j'ai une fonction qui efface la ligne d'un document qu'on lui passe en parametre.

    au niveau du tout premier fgets, il me crache l'erreur "bus error (core dumped)"

    mais pourquoi donc? je ne comprends vraiment pas. j'ai une autre fonction qui commence ligne pour ligne de la même mannière, et tout se déroule bien.

    pouvez-vous m'aider?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include "biblio.h"
     
    void effacer (char * cheminfichier, int ligne)
    {
    	int i;
    	FILE * fichier;
    	char temp[200];
            //positionnement juste après la ligne à effacer
    	if (fichier = fopen(cheminfichier, "r+") != NULL)
    	{
    		for (i = 0; i < ligne; i++)
    		{
    			fgets(temp, sizeof(temp), fichier);//ça plante ici
    		}
    		//quand on arrive ici on a le curseur a la fin de la ligne a supprimer.
    		while(fgets(temp, sizeof(temp),fichier)!=NULL)
    		{
    			//prendre la ligne suivante et la mettre dans celle d'avant
    			fseek (fichier, (2*(sizeof(temp)/sizeof(char))), SEEK_CUR);
    			fputs(temp, fichier);
    			fseek (fichier, (sizeof(temp)/sizeof(char)), SEEK_CUR);
    		}
    	} 
    }

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (fichier = fopen(cheminfichier, "r+") != NULL)
    Je n'arrive jamais à me rappeler les priorités (et en plus, je ne veux pas m'encombrer la tête), je préfère écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fichier = fopen(cheminfichier, "r+");
    if (fichier != NULL)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut
    ouilouilouille... il manquait une paire de parenthèse pour englober

    fichier = fopen(cheminfichier, "r+")

    c'est tout.

    tain je baisse moi..


    *va se pendre (après avoir terminé son projet)

    ...merci quand meme.

    Ca vous paraît viable comme solution?

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par crashtib Voir le message
    Ca vous paraît viable comme solution?
    Quel problème ? Quelle solution ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre confirmé Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut
    pour effacer un ligne d'un fichier....


    ....fin tu vas me dire t'as qu'à la tester. He ben c'est justement ce que je suis en train de faire figure-toi d'abord



    ... et évidemment elle marche pas.

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Toutes les lignes ont la même taille ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD8]effacer ligne d'une liste
    Par fanant dans le forum WinDev
    Réponses: 5
    Dernier message: 16/04/2007, 10h30
  2. [VBA-E]Efface ligne ne correspondant pas a mon Secteur
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/08/2006, 09h40
  3. [VBA-E]Effacer ligne si une autre ligne est identique
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/08/2006, 13h41
  4. [VBA-E] fonction effacer
    Par naynai dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/05/2006, 17h12
  5. effacer ligne arriere d'une GlutSphere
    Par killerjeff dans le forum OpenGL
    Réponses: 7
    Dernier message: 20/12/2005, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo