我想获得ISO8601周编号C. MinGW安装在我的电脑上。 GCC版本是5.3.0。你可以在下面看到我的代码。 strftime对说明符“%V”不起作用。但它与指定符“%W”正常工作。但那不是我想要的。我需要ISO 8601格式的每周数字。ISO 8601周编号在C
我试过我的代码与2不同的在线C编译器,他们都工作得很好。我怀疑我的电脑上的编译器配置不当。谁能告诉我我做错了什么?任何帮助,将不胜感激。
这里是我的代码:
#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;
}
你的代码适合我 - [点击](http://coliru.stacked-crooked.com/a/af8765f61e764251)。请注意,'%V'格式说明符是语言环境相关的。尝试挖掘这个,因为代码看起来很好 - *除了C不是C++ *。 – mpiatek