Suppression d'un etudiant dans un fichier
Résolu
A voir également:
- Suppression d'un etudiant dans un fichier
- Forcer la suppression d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
3 réponses
yg_be
Messages postés
23293
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2024
Ambassadeur
1 548
Modifié le 22 avril 2024 à 08:30
Modifié le 22 avril 2024 à 08:30
bonjour,
explique-nous à quoi servent tes trois fichiers et pourquoi tu les manipules ainsi.
Bonjour,
C'est bizarre, ça:
tu renommes un fichier Etudtstemp.txt en etudiants.txt
rename("Etudtstemp.txt","etudiants.txt");
puis tu le supprimes:
remove("etudiants.txt");
De plus, il sort d'où Etudtstemp.txt ?
Moi, pour ajouter ou supprimer des étudiants, je ferais ça
(j'ai simplifié ce qu'il y a à écrire dans le fichier):
#include <stdio.h> #include <stdlib.h> #include <string.h> void ajouter(char *nom) { FILE *fp; fp = fopen("etudiants.txt","a"); fprintf(fp,"%s\n",nom); fclose(fp); } void supprimer(char *nom){ FILE *fpi, *fpo; char ligne[255]; fpi = fopen("etudiants.txt","r"); fpo = fopen("tmp.txt","w"); while(fgets(ligne, 255, fpi)!= NULL) { ligne[strlen(ligne)-1] = '\0'; if(strcmp(ligne, nom)){ fprintf(fpo,"%s\n",ligne); } } fclose(fpi); fclose(fpo); remove("etudiants.txt"); rename("tmp.txt", "etudiants.txt"); } int main(int argc, char *argv[]) { //ajouter un nouveau nom ajouter("toto"); //supprimer un nom existant dans le fichier supprimer("titi"); return 0; }