C C++ Êä³öÖÐÎÄ¡¾×ª¡¿
1. wprintf
Q : sizeof(wchar_t) = ?
A : Ëæ±àÒëÆ÷²»Í¬¡£(ËùÒÔ:ÔÚÐèÒª¿çƽ̨µÄʱºò¾¡Á¿²»ÓÃwchar_t) vc : sizeof(wchar_t) = 2;
Q: ÔÚvcÖУ¬ÎªÊ²Ã´Ö±½ÓʹÓÃwprintf(L"²âÊÔ1234")»áûÓнá¹û
A: ûÓÐÉèÖúÃlocale,ÕâÑù×ö
setlocale(LC_ALL ,
"
chs
"
);
wprintf(L
"
%s
"
,L
"
²âÊÔ1234
"
);
»òÕß(¼ÙÉ赱ǰ»î¶¯codepageΪchs)
char
scp[
16
];
int
cp
=
GetACP();
sprintf(scp,
"
.%d
"
,cp);
setlocale( LC_ALL, scp );
wprintf(L
"
²âÊÔ1234
"
);
2. wcout
Ò»Ñù£¬²»¹ýÉ趨locale,ÇëÓÃstd::locale
locale loc(
"
chs
"
);
wcout.imbue(loc);
wcout
<<
L
"
²âÊÔ1234
"
<<
endl;
ÕâÆªÎÄÕÂÓ¦¸ÃÊÇ[netsin
]µÄ³É¹û£¬ÎÒÇڿ죬¼ÇÏÂÀ´¡£
×¢£ºwprintfÊÇCµÄ±ê×¼¿âº¯Êý£¬µ«wcout²»ÊÇC++µÄ±ê×¼³ÉÔ±£¬C++ÖÐµÄ L"……" ÊÇ¿í×Ö·û£¬È´Î´±ØÊÇunicode×Ö·û£¬ÕâÓë±àÒëÆ÷ʵÏÖÏà¹Ø¡£
[ǬÀ¤Ò»Ð¦
]
˵£ºÎªÊ²Ã´ C/C++ ÓïÑÔ°Ñ L"xx" ¶¨ÒåΪÓÉʵÏÖ¾ö¶¨µÄÄØ£¿ÕâÏÔÈ»ÊÇΪÁË C/C++ µÄÆÕÊÊÐÔ¡¢¿ÉÒÆÖ²ÐÔ¡£Bjarne
µÄ¹ÛµãÈÏΪ£¬C++ µÄ·½Ê½ÊÇÔÊÐí³ÌÐòԱʹÓÃÈκÎ×Ö·û¼¯×÷Ϊ´®µÄ×Ö·ûÀàÐÍ¡£ÁíÍ⣬unicode
±àÂëÒѾ·¢Õ¹ÁËÈô¸É°æ±¾ÁË£¬ÊÇ·ñÄÜÓÀ¾ÃÊʺÏÏÂÈ¥Ò²²»µÃ¶øÖª¡£ÓÐ¹Ø unicode µÄÏêϸÂÛÊöÒÔ¼°ºÍÆäËü×Ö·û¼¯µÄ±È½Ï£¬ÎÒÍÆ¼öÄã¿´¡¶ÎÞ·Ï»°xml¡·¡£
ÒÔÏÂÁ½¶Î´úÂëµÄÖ´Ðл·¾³ÊÇ windows xp professional Ó¢Îİ棬±àÒëÆ÷ÊÇ VS2005RTM¡£
// C
#include <stdio.h>
#include <locale.h>
int main( void )
{
setlocale( LC_ALL, "chs" );
//setlocale( LC_ALL, "Chinese-simplified" );
//setlocale( LC_ALL, "ZHI" );
//setlocale( LC_ALL, ".936" );
wprintf( L"Öйú" );
return 0;
}
// C++
#include <iostream>
#include <locale>
using namespace std;
int main( void )
{
locale loc( "chs" );
//locale loc( "Chinese-simpl
Ïà¹ØÎĵµ£º
Boss˵£¬Òª¿´OpenGL£¬¿´ÁË¿ìÒ»¸öÔ£¬×ÜËã³öÁ˸öÏñÑùµÄ¶«Î÷£¬ÓÃCдÁ˸ö3DÃÔ¹¬£¬
ËäȻֻÓÐ350ÐÐ
´úÂ룬²»¹ý±ßѧ±ßд£¬×ã×ãдÁËÒ»ÖÜʱ¼ä£¬»¹ÊÇСÓгɾ͸е쬻î»î»î£¡
&n ......
#
ÊÇÉú³É×Ö·û´®£º
#define a(x) #x
a(bc
) => "bc"
##
ÊÇÁ¬½Ó£º
#define a(x) abc##x
&n ......
int main()
{
int a[] = {1,2,3,4,5};
int i;
int * p = a;
for (p = a + 4, i = 0; i < 5; i++) {
printf("%d ",p[-i]);
}
return 0;
}
......
ÔÚ¿´´úÂëʱ¿´µ½ÈçϵĴúÂ룺
#ifdef __cplusplus
extern "C" {
#endif
ÃæÊÔʱ±»Îʵ½¹ý£¬²»ÉõÃ÷ÁË£¬ÍøÉϰٶÈһϣ¬ÕûºÏÁËÁ½¸öÈÊÐÖµÄÎÄÕ£¬ÈçÏ¡£:-)
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus
extern "C" {
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus
}
#endif
¡¡¡¡
Õ ......