我有一个字符串10131520,正在尝试将其转换为C中的Unix Epoch时间。如果将数字分开,例如10-13-1520,我可以使用类似strptime()的方法,但是由于没有分隔符,我遇到了麻烦。我正在考虑也许通过读取前2位并将它们存储到month变量中来拆分这些位,然后将后2位存储为day,然后将后4位存储为时间。
如果有人能指出正确的方向,我将不胜感激。
谢谢
最佳答案
这种工作方式有很多种,这是一种简单易懂的方式。
#include <stdio.h>
#include <string.h>
// to change 10131520 into 10-13-1520
main( )
{
char string[] = "10131520";
char stringout[11];
char year_str[5];
char month_str[3];
char day_str[3];
month_str[0] = string[0];
month_str[1] = string[1];
month_str[2] = '\0';
day_str[0] = string[2];
day_str[1] = string[3];
day_str[2] = '\0';
year_str[0] = string[4];
year_str[1] = string[5];
year_str[2] = string[6];
year_str[3] = string[7];
year_str[4] = '\0';
strcpy( stringout, month_str );
strcat( stringout, "-" );
strcat( stringout, day_str );
strcat( stringout, "-" );
strcat( stringout, year_str );
printf( "\n the date is %s", stringout );
getchar( );
}