J'essaie d'obtenir le numéro de semaine ISO8601 avec C. MinGW est installé sur mon PC. La version de GCC est 5.3.0. Vous pouvez voir mon code ci-dessous. strftime ne fonctionne pas pour le spécificateur "% V". Mais cela fonctionne bien avec le spécificateur "% W". Mais ce n'est pas ce que je veux. J'ai besoin du numéro de semaine de l'année au format ISO 8601.Numéro de semaine ISO 8601 en C
J'ai essayé mon code avec 2 différents compilateurs en ligne C et ils ont tous deux bien fonctionné. Je doute que le compilateur sur mon PC ne soit pas bien configuré. Quelqu'un peut-il me dire ce que je fais mal? Toute aide serait appréciée.
Voici mon code:
#include <stdio.h>
#include <time.h>
#include <string.h>
int main()
{
time_t timep;
struct tm * time_inf;
char buff [80];
time (&timep);
time_inf = localtime (&timep);
time_inf->tm_year = 2008 - 1900;
time_inf->tm_mon = 11;
time_inf->tm_mday = 31;
mktime (time_inf);
strftime (buff, sizeof(buff), "%V", time_inf) ;
puts (buff); //prints nothing
printf("%d", strlen(buff)); //prints 0
return 0;
}
Votre code fonctionne très bien pour moi - [cliquez] (http://coliru.stacked-crooked.com/a/af8765f61e764251). Notez que le spécificateur de format '% V' dépend des paramètres régionaux. Essayez de creuser parce que le code semble bien - * sauf que C n'est pas C++ *. – mpiatek