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

sprintf_s参数有关问题?

2013-09-10 
sprintf_s参数问题??本帖最后由 u012043285 于 2013-09-09 12:15:34 编辑我得知sscanf_s的参数,如果是字符

sprintf_s参数问题??
本帖最后由 u012043285 于 2013-09-09 12:15:34 编辑 我得知sscanf_s的参数,如果是字符串,则需要给出字符串的长度,如:

char sz[256] = { "123" };
char szOut[256];
sscanf_s(sz, 256, "%s", szOut, 256);

可是sprintf_s这样做却会崩溃,那sprintf_s的格式化参数如果是字符串,不需要给出其长度么??
sprintf_s(sz, "%s", "456"); 这样就行?
而不是sprintf_s(sz, "%s", "456", strlen("456")+1); ??
[解决办法]
需要修改的内存空间才需要指定长度
sprintf_s有2个重载,一个是输出到字符数组的,不需要指定长度因为数组自带长度,另一个是字符指针+长度的
sprintf_s(szOut, 256, "%s", "456")
第一个参数需要指定长度,后面的都不需要

热点排行