RECUPERATION SUR UN FICHIER en C
Résolu/Fermé
Utilisateur anonyme
-
21 déc. 2010 à 23:35
scoubidou944 Messages postés 719 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 22 déc. 2010 à 01:56
scoubidou944 Messages postés 719 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 22 déc. 2010 à 01:56
A voir également:
- RECUPERATION SUR UN FICHIER en C
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
1 réponse
scoubidou944
Messages postés
719
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017
127
21 déc. 2010 à 23:53
21 déc. 2010 à 23:53
Bonsoir,
plusieurs choses sur ton code.
1) Tu utilises une vieille norme de langage C.
Si tu bosses avec Visual Studio 2010 Express, tu as des fonctions qu'ils doit d'indiquer comme dépréciées :
strcpy => strcpy_s
(c'est un exemple. Cela permet d'éviter les débordement de buffer)
2) ensuite, pense à prendre l'habitude de resserrer tes typages de variables, ça évite bien des erreurs.
Par exemple, enregistrer ta fiche ne nécessite pas de modifier l'objet Fiche en question donc :
void enregistrefiche(cartevisite*personne,FILE *fic)
{
}
devient
#define IN
#define OUT
void enregistrefiche (IN const cartevisite*personne, IN OUT FILE *fic)
{
}
3) Les normes de nommage des variables. Tous les développeurs codent en Anglais sur le format Camel/Pascal, fais un peu de recherche sur Google.
La notation hongroise est très décriée quand à elle.
4) Tu utilises à la fois stdin et scanf. Choisis l'un ou l'autre, là tu mixtes 2 méthodes de traitement de flux c'est à éviter.
5) Tu travailles sur ton fichier en mode binaire et non pas en mode texte. C'est peut-être volontaire mais regarder bien avec un éditeur hexadécimal s'il enregistre bien ce qu'il faut.
voilà pour commencer ;p
plusieurs choses sur ton code.
1) Tu utilises une vieille norme de langage C.
Si tu bosses avec Visual Studio 2010 Express, tu as des fonctions qu'ils doit d'indiquer comme dépréciées :
strcpy => strcpy_s
(c'est un exemple. Cela permet d'éviter les débordement de buffer)
2) ensuite, pense à prendre l'habitude de resserrer tes typages de variables, ça évite bien des erreurs.
Par exemple, enregistrer ta fiche ne nécessite pas de modifier l'objet Fiche en question donc :
void enregistrefiche(cartevisite*personne,FILE *fic)
{
}
devient
#define IN
#define OUT
void enregistrefiche (IN const cartevisite*personne, IN OUT FILE *fic)
{
}
3) Les normes de nommage des variables. Tous les développeurs codent en Anglais sur le format Camel/Pascal, fais un peu de recherche sur Google.
La notation hongroise est très décriée quand à elle.
4) Tu utilises à la fois stdin et scanf. Choisis l'un ou l'autre, là tu mixtes 2 méthodes de traitement de flux c'est à éviter.
5) Tu travailles sur ton fichier en mode binaire et non pas en mode texte. C'est peut-être volontaire mais regarder bien avec un éditeur hexadécimal s'il enregistre bien ce qu'il faut.
voilà pour commencer ;p
22 déc. 2010 à 00:22
Mais voilà je travaille sur MingW cè un devoir à faire pour acquiert de bonnes perfomances ! avec les flux tu m'avances bcp ! merci mais les fonctions je suis obligé de les garder et les fichiers binaires ossi !
22 déc. 2010 à 00:25
22 déc. 2010 à 01:56
Quand tu utilises une librairie qui n'est pas de toi, il est parfois difficile de savoir si ton objet est modifié à l'intérieur ou non.
Le mot clé 'const' permet justement de dire qu'il sera utilisé en Read Only.
Bonne chance