首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

strtok累次调用,会出现之前数据重复赋值问提

2013-11-03 
strtok多次调用,会出现之前数据重复赋值问提我想用strtok分类处理一个定了格式的字符串,并把相应部分存到

strtok多次调用,会出现之前数据重复赋值问提
我想用strtok分类处理一个定了格式的字符串,并把相应部分存到结构体中的对象里。
int _tmain(int argc, _TCHAR* argv[])
{
char g_reqinfo[] = "2013/10/16 10:10:10";
   struct log_form{//定义结构体变量
char year[4];
char month[2];
char day[2];
char hour[2];
char minute[2];
char second[6];
};/* define struct log_form a */
struct log_form a = {NULL};//初始化为0

strcat(a.year, strtok(g_reqinfo, "/"));
strcat(a.month, strtok(NULL, "/"));
strcat(a.day, strtok(NULL, " "));
strcat(a.hour, strtok(NULL, ":"));
strcat(a.minute, strtok(NULL, ":"));
strcat(a.second, strtok(NULL, " "));
}

printf了一下,发现输出是:
20131016101010
1016101010
16101010
101010
1010
10
为什么会有这种情况?还有怎么实现我想要达到的效果,即每位数据存入到各对象中?谢谢 c strtok
[解决办法]
结构里定义的数组不够大越界操作NULL被覆盖掉,每个数组起码加大1容纳NULL结尾
[解决办法]


        struct log_form{//定义结构体变量
char year[5];
char month[3];
char day[3];
char hour[3];
char minute[3];
char second[3];
}; /* define struct log_form a */

热点排行