Convertir un string en date en langage c
Fermé
iamoki
Messages postés
23
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
25 mars 2010
-
18 mars 2010 à 10:38
iamoki Messages postés 23 Date d'inscription jeudi 18 mars 2010 Statut Membre Dernière intervention 25 mars 2010 - 19 mars 2010 à 14:03
iamoki Messages postés 23 Date d'inscription jeudi 18 mars 2010 Statut Membre Dernière intervention 25 mars 2010 - 19 mars 2010 à 14:03
A voir également:
- Convertir un string en date en langage c
- Convertir youtube en mp3 avec audacity - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Convertir epub en kindle - Guide
- Convertir audio en texte word - Guide
- Convertir clavier qwerty en azerty - Guide
5 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 622
18 mars 2010 à 15:58
18 mars 2010 à 15:58
$ cat date2.c #include <stdio.h> #include <time.h> main() { struct tm tm; char *str="2009-11-19 13:33:47.51"; strptime(str,"%Y-%m-%d %H:%M:%S", &tm); printf("%d/%d/%d %d:%d:%d\n", tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); } $ $ make date2 cc date2.c -o date2 $ ./date2 2009/11/19 13:33:47 $ $
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 622
18 mars 2010 à 14:31
18 mars 2010 à 14:31
hello
voir aussi strptime
strptime
Nom
strptime - Conversion d'une chaîne représentant une date en une structure tm.
Synopsis
#include <time.h>
char *strptime (char *buf, const char *format, const struct tm *tm);
Description
La fonction strptime() est complémentaire de la fonction strftime(). Elle convertit la chaîne de caractères pointée par buf en une valeur qui est stockée dans la structure tm pointée par l'argument tm,
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strptime.3.html
voir aussi strptime
strptime
Nom
strptime - Conversion d'une chaîne représentant une date en une structure tm.
Synopsis
#include <time.h>
char *strptime (char *buf, const char *format, const struct tm *tm);
Description
La fonction strptime() est complémentaire de la fonction strftime(). Elle convertit la chaîne de caractères pointée par buf en une valeur qui est stockée dans la structure tm pointée par l'argument tm,
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strptime.3.html
iamoki
Messages postés
23
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
25 mars 2010
18 mars 2010 à 15:28
18 mars 2010 à 15:28
g essayé strptime() en 1er mais g pa compris il ne le reconnaissait même avec l'include de time.h...
Merci.
Merci.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 622
19 mars 2010 à 12:12
19 mars 2010 à 12:12
$ cat date3.c #include <stdio.h> main() { int a, m, j ,h, min, s; char *str="2009-11-19 13:33:47.51"; sscanf(str, "%d-%d-%d %d:%d:%d", &a, &m, &j, &h, &min, &s); printf("%d/%d/%d %d:%d:%d\n", a, m, j, h, min, s); } $ $ make date3 cc date3.c -o date3 $ ./date3 2009/11/19 13:33:47 $
iamoki
Messages postés
23
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
25 mars 2010
19 mars 2010 à 14:03
19 mars 2010 à 14:03
Merci c'est super pratique ^^
Bonjour,
Pour obtenir les différentes variables que tu souhaites, il suffit de découper la chaine avec une boucle.
Par exemple :
int pos = 0;
for (int i=0;i<4 && i<strlen(str);i++)
{ strAnnee[pos]=str[i]; pos++; }
strAnnee[pos]='\0';
...Etc...
Cordialement, M.
Pour obtenir les différentes variables que tu souhaites, il suffit de découper la chaine avec une boucle.
Par exemple :
int pos = 0;
for (int i=0;i<4 && i<strlen(str);i++)
{ strAnnee[pos]=str[i]; pos++; }
strAnnee[pos]='\0';
...Etc...
Cordialement, M.
iamoki
Messages postés
23
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
25 mars 2010
18 mars 2010 à 13:56
18 mars 2010 à 13:56
j'y ai pensé mais ça me fait utilisé tro de boucle (for) en fait, je cherche une solution "moins lourde" si possible!!!
Merci pour votre aide!!
Merci pour votre aide!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Alors il serait peut-être sympa de te servir de cette fonction :
char *strtok (char *s, const char *t);
Cette fonction décompose la chaîne s en sous-chaîne délimitées par un caractère appartenant à ct. Un appel ultérieur à strtok avec s égale à NULL, retourne la sous-chaîne suivante ; ct peut être différent à chaque appel.
La chaîne passée en argument est modifiée par la fonction : elle ajoute un caractère de fin de chaîne à la place du séparateur.
Qu'en penses tu ?
Alors il serait peut-être sympa de te servir de cette fonction :
char *strtok (char *s, const char *t);
Cette fonction décompose la chaîne s en sous-chaîne délimitées par un caractère appartenant à ct. Un appel ultérieur à strtok avec s égale à NULL, retourne la sous-chaîne suivante ; ct peut être différent à chaque appel.
La chaîne passée en argument est modifiée par la fonction : elle ajoute un caractère de fin de chaîne à la place du séparateur.
Qu'en penses tu ?
iamoki
Messages postés
23
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
25 mars 2010
18 mars 2010 à 15:27
18 mars 2010 à 15:27
c ma solution temporaire.. mais je veux trouver mieux, je veux l'optimiser..
Merci!
Merci!
18 mars 2010 à 16:23
Je comprends pas...
18 mars 2010 à 17:13
18 mars 2010 à 17:32
19 mars 2010 à 09:36
19 mars 2010 à 10:33