Ich versuche die ISO8601 Wochennummer mit C zu bekommen. MinGW ist auf meinem PC installiert. GCC-Version ist 5.3.0. Sie können meinen Code unten sehen. strftime funktioniert nicht für Spezifizierer "% V". Aber es funktioniert gut mit dem Spezifizierer "% W". Aber das will ich nicht. Ich brauche die Wochennummer im ISO 8601 Format.ISO 8601 Wochennummer in C
Ich habe meinen Code mit 2 verschiedenen Online-C-Compiler versucht und beide funktionierten gut. Ich bezweifle, dass der Compiler auf meinem PC nicht gut konfiguriert ist. Kann mir jemand sagen, was mache ich falsch? Jede Hilfe wäre willkommen.
Hier ist mein 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;
}
Ihr Code funktioniert gut für mich - [click] (http://coliru.stacked-crooked.com/a/af8765f61e764251). Beachten Sie, dass der Formatbezeichner% V länderabhängig ist. Versuchen Sie, dies zu untersuchen, da Code gut aussieht - * außer es ist C nicht C++ *. – mpiatek