printf的格式输出

具体请参考MSDN。

下面只举几个经常会碰到的例子:

char szTemp[] = "abcdefg";

wchar_t szWchar[] = L"hijklmn";

1,printf("%s", szTemp);

输出:abcdefg;

"printf"与"%s"合用表示按单字节字符串来解释szTemp。

2,wprintf(L"%S", szTemp);

输出:abcedef;

"wprintf"与"%S"合用表示按单字节字符串来解释szTemp。

3,printf("%S", szWchar);

输出:hijklmn;

"printf"与"%S"合用表示按宽字节字符串来解释szWchar。

4,wprintf(L"%s", szWchar);

输出:hijklmn;

"wprintf"与"%s"合用表示按宽字节字符串来解释szWchar。

5,

printf("%hs", szTemp); 
wprintf(L"%hs", szTemp);

printf("%hS", szTemp); 
wprintf(L"%hS", szTemp);

都输出:abcedef ;

不管是"wprintf",还是"printf",当它们与"%hs"或者"%hS"合用时,表示按单字节字符串来解释szTemp。

6,

printf("%ls", szWchar); 
wprintf(L"%ls", szWchar);

printf("%lS", szWchar); 
wprintf(L"%lS", szWchar);

都输出:hijklmn;

不管是"wprintf",还是"printf",当它们与"%ls"或者"%lS"合用时,表示按宽字节字符串来解释szWchar。

7,输出short类型

short sh = 32;
printf("%hd\n", sh);

8,输出__int64类型

__int64 qwValue = 12345678910;
printf("%I64d\n", qwValue);

注意:不能用printf("%d\n", qwValue);输出__int64类型的数据。

你可能感兴趣的:(printf的格式输出)