_stprintf_s和_stscanf_s是为适应不同编码而定义的两个宏,在不同的编码环境下他们所表示的函数是不同的。
(1)int _stprintf_s( char *buffer, size_t sizeOfBuffer, const char *format [, argument] ... );
这个函数的主要作用是将若干个argument按照format格式存到buffer中。
buffer:输出的字符
sizeOfBuffer:buffer的长度
format:格式字符串,比如%s
argument:可选参数
(2)int _stscanf_s( const char *buffer, const char *format [, argument ] ... );
这个函数的主要作用是从buffer中读取指定格式(format)的字符到相应的argument中。参数同上
这两个函数同可以作为变量类型转换的函数,而却对char *型变量来说特别方便,如:
TCHAR szText[32] = {0};
_stprintf_s(szText, 32,TEXT("%d"),1); // 可以将int 型转化为宽字节
同时也可以将若干个变量整合为一个
_stprintf_s(szText, 32,TEXT("%d"),char[0], char[1],.......);