这里距离切割年月日
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct time_all{
char year[8];
char month[8];
char day[8];
char hour[8];
char minute[8];
char second[8];
}st_time;
int split_str(char *time,st_time *p_st_time)
{
if(time==NULL){
printf("split_str ===== NULL error\n");
return -1;
}
char s[64] = {0};
const char *d = " ,-,:";//以空格,- ,等符号,可以取多个的
char *p = NULL;
char *p_st_time_tmp = (char *)p_st_time;
strcpy(s,time);
p = strtok(s,d);
while(p)
{
printf("%s\n",p);
memcpy(p_st_time_tmp,p,8);
p_st_time_tmp=p_st_time_tmp+8;
p=strtok(NULL,d);
}
return 0;
}
int main()
{
/*
const char *time = "2019-09-01";
split_str(time);
*/
st_time time_st;
memset(&time_st,0,sizeof(time_st));
split_str("2019-09-01 15:01:08",&time_st);
printf("************************\n");
printf("year:%s\n",time_st.year);
printf("month:%s\n",time_st.month);
printf("day:%s\n",time_st.day);
printf("hour:%s\n",time_st.hour);
printf("minute:%s\n",time_st.minute);
printf("second:%s\n",time_st.second);
return 0;
}