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
Ïà¹ØÎĵµ£º
write by ¾ÅÌìÑãôá(JTianLing) -- blog.csdn.net/vagrxie
ÌÖÂÛÐÂÎÅ×é¼°Îļþ
ÔÎÄÀ´×Ô£º¡¶JavaScript for C & Python programmers
¡·£¬¾¹ý×÷ÕßCanisÔÊÐíºó·Ò룬¼´Ê¹×ªÔØÇ븽´ø´ËÁ´½Ó¡£
ǰÑÔ£ººÜÉٸɷÒëµÄÊÂÇ飬ÀÛ£¬ÐÁ¿à£¬²»ÄÜ·¢»Ó£¬µäÐ͵ķÑÁ¦²»Ìֺã¬×î½üÎÞÁÄ£¬ÏëÔÚÍøÒ³ÉÏÏÔʾ¶¯»£¨ÒòΪCSDNÌ ......
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;
}
......
ÓÉÓÚ³ÌÐòÔËÐÐʱռÓõÄÄÚ´æ¹ý´ó£¬ËùÒÔÏë°ì·¨¸ø³ÌÐòÊÝÉí¡£
ÔÚµ÷ÊÔÖз¢ÏֽṹÌåÕ¼ÓõÄsize¾¹È»ºÍÔ¤ÏëµÄ²»Ò»Ñù£¬ÔÀ´……
¿´¿´ÏÂÃæ½²µÄ°É£¬¿Ï¶¨»á²»Í÷´Ë¿´Å¶£¡
1,±ÈÈç:
struct{
short a1;
short a2;
short a3;
}A;
struct{
......
1¡¢C/C++³ÌÐòÔ±Çë×¢Ò⣬²»ÄÜÔÚcaseÓï¾ä²»Îª¿Õʱ“ÏòÏÂÖ´ÐД¡£
2¡¢ÖµÀàÐͺÍÒýÓÃÀàÐÍÖ®¼äµÄÇø±ð£ºC#µÄ»ù±¾ÀàÐÍ£¨int£¬charµÈ£©¶¼ÊÇÖµÀàÐÍ£¬ÊÇÔÚÕ»Öд´½¨µÄ¡£¶ø¶ÔÏóÊÇÒýÓÃÀàÐÍ£¬´´½¨ÓÚ¶ÑÖУ¬ÐèҪʹÓùؼü×Önew¡£
3¡¢ÔÚC#ÖÐͨ¹ýʵÀý·ÃÎʾ²Ì¬·½·¨»ò³ÉÔ±±äÁ¿ÊDz»ºÏ·¨µÄ£¬»áÉú³É±àÒëÆ÷´íÎó¡£µ«ÊÇÎÒÃÇ¿ÉÒÔͨ¹ýÉùÃ÷Ëû ......
Gcc¼ò½é
LinuxϵͳϵÄgcc£¨GNU C Compiler£©ÊÇGNUÍÆ³öµÄ¹¦ÄÜÇ¿´ó¡¢ÐÔÄÜÓÅÔ½µÄ¶àƽ̨±àÒëÆ÷£¬ÊÇGNUµÄ´ú±í×÷Æ·Ö®Ò»¡£gccÊÇ¿ÉÒÔÔÚ¶àÖÖÓ²ÌåÆ½Ì¨ÉϱàÒë³ö¿ÉÖ´ÐгÌÐòµÄ³¬¼¶±àÒëÆ÷£¬ÆäÖ´ÐÐЧÂÊÓëÒ»°ãµÄ±àÒëÆ÷Ïà±Èƽ¾ùЧÂÊÒª¸ß20%~30%¡£
gcc ±àÒëÆ÷Äܽ«C¡¢C++ÓïÑÔÔ´³ÌÐò¡¢»ã³Ìʽ»¯ÐòºÍÄ¿±ê³ÌÐò±àÒë¡¢Á¬½Ó³É¿ÉÖ´ÐÐÎļþ£¬Èç¹ûûÓи ......