本帖最后由 neuangel 于 2017-2-21 11:59 编辑
这样使用sprintf 问题出在哪里?
ReadTime[7],这个我通过时钟电路得到的时间信息,
我想要的结果是,将时间信息转化为字符串,然后作为创建文件的 文件名
char *text_name;
ReadTime[7]={ox17,0x02,0x21,0x11,0x23,0x20,0x02};
void name_creat_txt(char *name,u8 year,u8 mouth,u8 day,u8 hour,u8 min,u8 second )
{
// sprintf (name, "0:\%.4d%.2d%.2d%.2d%.2d%.2d.txt", year,mouth,day,hour,min,second);
sprintf (name, "0:\%04x%02x%02x%02x%02x%02x.txt", year,mouth,day,hour,min,second);
}
name_creat_txt(text_name,ReadTime[0],ReadTime[1],ReadTime[2],ReadTime[4],ReadTime[5],ReadTime[6] );
目前,程序一直卡在这段话,求指点,或者有其它办法,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
.................
子函数别修改,char *text_name=malloc(size);
本帖最后由 neuangel 于 2017-2-21 18:59 编辑
void name_creat_txt(char *name,u8 year,u8 mouth,u8 day,u8 hour,u8 min,u8 second )
{
name=(u8 *)mymalloc(SRAMEX ,1024);//内存申请
// sprintf (name, "0:\%.4d%.2d%.2d%.2d%.2d%.2d.txt", year,mouth,day,hour,min,second);
sprintf (name, "0:\%04x%02x%02x%02x%02x%02x.txt", year,mouth,day,hour,min,second);
myfree(SRAMEX,name);
}
你这个改过之后应该不是死在sprint里面,而是死在你用text_name 的地方。
一周热门 更多>