[C] Deux structures dans un même fichier ?
Fermé
tony0093
Messages postés
10
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
21 juin 2008
-
4 juin 2006 à 14:10
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 6 juin 2006 à 23:32
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 6 juin 2006 à 23:32
A voir également:
- [C] Deux structures dans un même fichier ?
- 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
7 réponses
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
4 juin 2006 à 21:47
4 juin 2006 à 21:47
Salut,
La solution la plus rapide, si tu n'as pas de limite en nombre de fichiers, c'est
de créer un fichier retard et un fichier absence.
La seconde un peu moins évidente :
- ton fichier débute avec une entête qui precise le nombre de retard et
le nombre d'absences.
- tu ajoutes ensuites tes retards, puis les absences
Le souci c'est qu'il faut reécire à chaque ajout tout le fichier.
Tu peux faire moins simple, mais dans ce cas il te faudrais plus de temps, mets
en oeuvre un SGBD ou un SGBD/R qui sont là pour que le programme n'est
pas à s'occuper du stockage physique des données.
A+, crabs
La solution la plus rapide, si tu n'as pas de limite en nombre de fichiers, c'est
de créer un fichier retard et un fichier absence.
La seconde un peu moins évidente :
- ton fichier débute avec une entête qui precise le nombre de retard et
le nombre d'absences.
- tu ajoutes ensuites tes retards, puis les absences
Le souci c'est qu'il faut reécire à chaque ajout tout le fichier.
Tu peux faire moins simple, mais dans ce cas il te faudrais plus de temps, mets
en oeuvre un SGBD ou un SGBD/R qui sont là pour que le programme n'est
pas à s'occuper du stockage physique des données.
A+, crabs
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
5 juin 2006 à 09:43
5 juin 2006 à 09:43
Et pourquoi pas prendre une base de données ?
C'est très bien adapté à ce genre de choses.
Par exemple SQLite qui est simple à utiliser et qui s'intègre directement dans ton programme.
C'est très bien adapté à ce genre de choses.
Par exemple SQLite qui est simple à utiliser et qui s'intègre directement dans ton programme.
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
6 juin 2006 à 19:19
6 juin 2006 à 19:19
Salut,
SQLite n'est-il pas un SGBD/R ? Même s'il ne propose pas d'accès réseau propre,
il peut être partagé sur une ressource disque réseau disposant d'un système de
verrou sur les fichiers.
A+, crabs
SQLite n'est-il pas un SGBD/R ? Même s'il ne propose pas d'accès réseau propre,
il peut être partagé sur une ressource disque réseau disposant d'un système de
verrou sur les fichiers.
A+, crabs
tony0093
Messages postés
10
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
21 juin 2008
2
6 juin 2006 à 15:26
6 juin 2006 à 15:26
Merci pour vos réponses!
J'ai oublié de préciser en fait que le language de programmation m'était imposé,c'est pourquoi j'utilise ce language qui, je trouve, est un peu trop capricieux et bcp moins pratique que le php ou le java par exemple...
Pr revenir au pb, je pensais qu'il y avait peut être un moyen de différencier les lignes dans le fichier, par exemple certains projet contiennent un fichier client avec ts les clients à l'intérieur ds lequel on peut rechercher et afficher l'enregistrement concernant un seul client...
Je suis pas une bête dans ce language de prog mais je pense qu'il doit y avoir un moyen plus simple de différencier les retards des absences et ce ds le meme fichier, en introduisant pt etre en debut de ligne un numero 1 pour les retards, et un 2 pr les absences ( je dis ça comme ça je sais pas)...
si vraiment je trouve pas de solution je vais faire comme me conseille crabs, à savoir 2 fichiers pr chaque employé...
Merci pr vos réponses!
J'ai oublié de préciser en fait que le language de programmation m'était imposé,c'est pourquoi j'utilise ce language qui, je trouve, est un peu trop capricieux et bcp moins pratique que le php ou le java par exemple...
Pr revenir au pb, je pensais qu'il y avait peut être un moyen de différencier les lignes dans le fichier, par exemple certains projet contiennent un fichier client avec ts les clients à l'intérieur ds lequel on peut rechercher et afficher l'enregistrement concernant un seul client...
Je suis pas une bête dans ce language de prog mais je pense qu'il doit y avoir un moyen plus simple de différencier les retards des absences et ce ds le meme fichier, en introduisant pt etre en debut de ligne un numero 1 pour les retards, et un 2 pr les absences ( je dis ça comme ça je sais pas)...
si vraiment je trouve pas de solution je vais faire comme me conseille crabs, à savoir 2 fichiers pr chaque employé...
Merci pr vos réponses!
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
6 juin 2006 à 17:51
6 juin 2006 à 17:51
2 fichier pour chaque employé ?
Mon dieu, non !
Mieux vaut utiliser une base de données, surtout s'il faut faire des recherches dedans.
SQLite est utilisable en C.
Je te conseille de jeter un coup d'oeil du côté SQL.
Mon dieu, non !
Mieux vaut utiliser une base de données, surtout s'il faut faire des recherches dedans.
SQLite est utilisable en C.
Je te conseille de jeter un coup d'oeil du côté SQL.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
6 juin 2006 à 20:20
6 juin 2006 à 20:20
Salut,
2 fichiers c'est pour faire rapide, ce n'est pas très élégant. Je suis ok avec
les remarques de sebsauvage sur ce propos.
L'idée de marquer les structure avec un "nombre magique" n'est pas une
mauvaise idée, mais cela risque de complexifier les fonctions d'entrée/sortie
sur tes fichiers de données.
Regardes du coté de SQLite, c'est gratuit et l'API en C n'est pas insurmontable.
Ton programme restera en C, il ne fera qu'utiliser une bibliothèque qui te
permettra de faire du SQL.
A+, crabs
2 fichiers c'est pour faire rapide, ce n'est pas très élégant. Je suis ok avec
les remarques de sebsauvage sur ce propos.
L'idée de marquer les structure avec un "nombre magique" n'est pas une
mauvaise idée, mais cela risque de complexifier les fonctions d'entrée/sortie
sur tes fichiers de données.
Regardes du coté de SQLite, c'est gratuit et l'API en C n'est pas insurmontable.
Ton programme restera en C, il ne fera qu'utiliser une bibliothèque qui te
permettra de faire du SQL.
A+, crabs
tony0093
Messages postés
10
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
21 juin 2008
2
6 juin 2006 à 23:20
6 juin 2006 à 23:20
Et bien merci à tous!!
je pense que je vais utiliser SQLite même si je ne trouve pas grand chose sur la manière de l'utiliser avec le language C
Si vous avez des supers liens à me donner n'hésitez pas !! lol ;-)
je pense que je vais utiliser SQLite même si je ne trouve pas grand chose sur la manière de l'utiliser avec le language C
Si vous avez des supers liens à me donner n'hésitez pas !! lol ;-)
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
6 juin 2006 à 23:32
6 juin 2006 à 23:32
Des exemples en C:
http://www.linuxjournal.com/articles/lj/0110/6650/6650l2.html
http://docs.cs.byu.edu/docs/sqlite/4.php
http://www.linuxjournal.com/articles/lj/0110/6650/6650l2.html
http://docs.cs.byu.edu/docs/sqlite/4.php