StringCchPrintf

简介

StringCchPrintf是sprintf的一个替代品,它接受一个格式字符串和参数列表和返回一个格式化字符串。

声明
HRESULT StringCchPrintf(          
						LPTSTR pszDest, 
						size_t cchDest,
    					LPCTSTR pszFormat,
    					...
);
需要包含的头文件
strsafe.h
参数
pszDest

指向目标内存

cchDest

内存区大小。应该足够大,以容纳字符串和结束标记。最大允许的字符数是STRSAFE_MAX_CCH

pszFormat

指向一个缓冲区,其中包含一个printf风格的格式字符串。

其他···

同printf

返回值

S_OKThere表示内存足够用
STRSAFE_E_INVALID_PARAMETERTheb表示cchDest的值是0或大于STRSAFE_MAX_CCH。 STRSAFE_E_INSUFFICIENT_BUFFERThe复制操作失败,原因是没有足够的缓冲空间。目的地缓冲区是结果的一部分。截断是可接受的情况,这可能不一定被视为失败。

注意

这个函数返回一个HRESULT,而不是像sprintf一样返回存储在其目标缓冲区的字节数。我们强烈建议您使用SUCCEEDED和FAILED宏来测试这个函数的返回值。

StringCchPrintf是按字符算,StringCbPrintf是按字节算。

样列说明
if (SUCCEEDED(StringCchPrintf(g_szFilePath, MAX_PATH, ofn.lpstrFile))){
    return TRUE;
}else{
    return FALSE;
}
posted @ 2019-09-14 15:22  老耗子  阅读(256)  评论(0编辑  收藏  举报