Timestamp, ecriture dans un fichier [gcc]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 406 fois - Téléchargée 33 fois

Contenu du snippet

Ce code permet de convertir une date saisi manuellement au format timestamp, puis de l'insérer dans un fichier, pour traitement ultérieur, dans n'importe quels langages.

Source / Exemple :



                                          • /
/*LIBRAIRIE*/ #include <stdio.h> #include <time.h> #include <string.h> /*STRUCTURE MESSAGE*/ typedef struct { int jourd; int jourf; char Tmessage[50]; } MESSAGE; /*PROTOTYPE*/ /*Initialisation de la structure tm */ void init_temps(struct tm *temps, int jourd, int moisd, int anneed); /*Insertion des donnees dans le fichier*/ int traitement_fichier(MESSAGE *donnee); int main(void) { /*****************DECLARATION DES VARIABLES********************************/ struct tm temps, tps; time_t dateunix,dateunixfin; int jour, mois, annee,codetrait; MESSAGE mess; char buffer[50]; /****************************DEBUT****************************************/ /************SAISI DATE DEBUT*********CONVERSION DATE DEB*****************/ printf("Chargement du programme [OK]\n\n"); printf("Saisi le jour,le mois, l annee de debut sous la forme 23 12 03\n"); scanf("%d%d%d",&jour,&mois,&annee); init_temps(&temps, jour,mois, annee); dateunix = mktime( &temps); mess.jourd=dateunix; /************SAISI DATE FIN************CONVERSION DATE FIN*****************/ printf("Saisi le jour,le mois, l annee de fin sous la forme 23 12 03\n"); scanf("%d%d%d",&jour,&mois,&annee); init_temps(&tps, jour,mois, annee); dateunixfin = mktime(&tps); mess.jourf=dateunixfin; /*******************SAISI DE l'EVENEMENT***********************************/ printf("Saisi l evenement\n"); fflush(stdin); scanf("%s",buffer); strcpy(mess.Tmessage,buffer); printf("Date fin [OK]\n"); printf("Date debut [OK]\n"); printf("Message [OK]\n"); codetrait=traitement_fichier(&mess); /******************TEST ECRITURE DANS FICHIER******************************/ if (codetrait == -1) printf("Ecriture dans fichier [ERREUR]\n"); else if (codetrait == 1) printf("Ecriture dans fichier [OK]\n"); printf("Terminaison [ok]\n"); return 0; /************************************FIN************************************/ } void init_temps(struct tm *temps,int jourd, int moisd,int anneed) { temps->tm_sec=0;; temps->tm_min=0; temps->tm_hour=0; temps->tm_mday= jourd; temps->tm_mon= moisd; temps->tm_year=anneed; temps->tm_isdst=-1; /*negatif si pas dispo*/ } int traitement_fichier(MESSAGE *donnee) { FILE *f; int ff; int code=-1; f=fopen("pense.dat","a+"); if (f != NULL) { ff=fprintf(f, "%d,%d,%s\n", donnee->jourd,donnee->jourf, donnee->Tmessage); code=1; } fclose(f); return code; }

Conclusion :


Je n ai pas trouver de source sur Timestamp sur le site, c est pourquoi je l aie ajoute

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.