_snprintf 显示(null)

来源:互联网 发布:外国人评价道德经知乎 编辑:程序博客网 时间:2024/05/17 23:40

DWORD a = 0;

float b = 19.13f;

const char* p ="hello world";

char szTemp[MAX_PATH] ={ 0 };

_snprintf(  szTemp,  MAX_PATH,  "%.0f hello world  %u, hello world %s"  , b,  (DWORD ) a * b, p);

 

这个显示的结果 19 hello world  0, hello world (null) 这个原因就是因为类型没有对应导致的

_snprintf(  szTemp,  MAX_PATH,  "%.0f hello world  %u, hello world %s"  , b,  (DWORD ) b * a, p);

这也是正常的,

但是本意是这样的 :

_snprintf(  szTemp,  MAX_PATH,  "%.0f hello world  %u, hello world %s"  , b,  (DWORD )( a * b), p);

类似使用_vsnprintf等等也是一样的

原创粉丝点击