Fichier en langage C et date
El
-
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Dalfab Messages postés 706 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis censée écrire un programme en C pour créer une banque. Créer un compte, retrait, dépôt, recherche de compte,transfert, historique, consultation de compte. Là j'en suis à la création et j'ai deux problèmes. Tout d'abord la date de création je n'ai aucune idée de comment la générer automatiquement alors si vous pouvez me montrer un bloc de code pour ça et m'expliquer je serais contente. Ensuite j'arrive à enregistrer les données dans le fichier avec le numcompte qui s'incrémente à chaque fois cependant quand je reprends le programme le programme le numéro de compte reviens à 1 du coup je me retrouve avec plusieurs comptes ayant le même numéro. Merci de bien vouloir m'aider !
A voir également:
- Fichier en langage C et date
- Fichier bin - Guide
- Fichier .dat - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Bonjour,
Pour avoir la date courante tu peux utiliser
Tu peux convertir ce
Et tu peux obtenir la conversion de cette
Plus d'explications dans https://forums.commentcamarche.net/forum/affich-37142716-fichier-en-langage-c-et-date ou https://en.cppreference.com/w/c/chrono
Ça donne :
Quand ton programme redémarre, il n'a aucune information sur son passé. Pour continuer ta numérotation, il te faut au début du programme essayer d'ouvrir et de lire ton fichier pour récupérer le dernier numéro.
Pour avoir la date courante tu peux utiliser
time_t time(time_t* arg), qui retourne un nombre qui date de manière universelle l'instant présent.
Tu peux convertir ce
time_ten une structure dans laquelle la date est décomposée avec
struct tm* localtime( const time_t* time ), tu retrouves dans cette structure les jours, années, minutes, secondes...
Et tu peux obtenir la conversion de cette
struct tmen une chaîne avec la fonction
size_t strftime(char* restrict str, size_t count, const char* restrict format, const struct tm* restrict time).
Plus d'explications dans https://forums.commentcamarche.net/forum/affich-37142716-fichier-en-langage-c-et-date ou https://en.cppreference.com/w/c/chrono
Ça donne :
#include <time.h> voit test(void) { time_t instant_courant = time( NULL ); struct tm instant_details = *localtime( &instant_courant ); char instant_texte[64]; strftime( instant_texte, sizeof instant_texte, "%D", &instant_details ); printf( "la date est : %s\n", instant_texte ); }
Quand ton programme redémarre, il n'a aucune information sur son passé. Pour continuer ta numérotation, il te faut au début du programme essayer d'ouvrir et de lire ton fichier pour récupérer le dernier numéro.