ǰÁ½ÌìдC++ʵϰ×÷Òµ£¬Í»È»·¢ÏÖI/OÊÇÄÇôµÄİÉú£¬´òÁ˺ó¤Ê±¼äµÄÎļþ¶¼Ã»Óдò¿ª£¬½ñÌìÖÕÓÚÓеãʱ¼äÁË£¬¾ö¶¨ÕÒ±¾Ê飬ºÃºÃÕûÀíһϣ¬ºÍ´ó¼Ò¹²Ïí¡£
C++I/O
C++Ö§³ÖÁ½ÖÖI/O£¬µÚÒ»ÖÖÊÇ´ÓCÓïÑԼ̳ÐÀ´µÄ£¬Ò»ÖÖÊÇÓÉC++¶¨ÒåµÄÃæÏò¶ÔÏóI/Oϵͳ¡£
1¡¢int getchar(void);·µ»ØÒ»¸öÕûÊýÖµ£¬Ò²¿ÉÒÔÖ¸¶¨Õâ¸öֵΪchar±äÁ¿£¬ÒòΪÕâ¸ö×Ö·û°üº¬ÓÚµÍλ×Ö½ÚÖÐ(¸ßλ×Ö½Úͨ³£Îª0)£¬Èç¹ûÓÐ´í£¬getchar()·µ»ØEOF¡£µ«ÊÇËûÓÐÒ»¸öDZÔÚµÄÎÊÌ⣬Õý³£Çé¿öÏ£¬getchar()»º´æÊäÈ룬ֱµ½¼üÈëÁ˻سµ¼ü(Õâ¸ö´ó¼ÒÓ¦¸ÃÉîÓÐÌå»á£¬¾ÍÊÇgetchar()Ã²ËÆÖ»ÈÏʶ»Ø³µ¼ü£¬ÔÀ´ÊÇÕâ¸öÔÒò)Õâ³ÆÎªÐлº³åÊäÈ룬ÔÚ¼üÈëµÄ×Ö·ûʵ¼Ê´«Ë͸ø³ÌÐò֮ǰ±ØÐëÇÃÈëÒ»¸ö»Ø³µ¼ü¡£
2¡¢int putchar(int c);
ËäÈ»putchar()´øÒ»¸öÕûÊý²ÎÊý£¬Í¨³£¿ÉÒÔÓÃÒ»¸ö×Ö·ûµÄ±äÔªµ÷ÓÃËü£¬µ«ÊÇÖ»ÓÐÆäµÍλ×Ö½Ú±»Êµ¼ÊÊä³öµ½ÆÁÄ»ÉÏ£¬putchar()º¯Êý·Å»Ø±»Ð´ÈëµÄ×Ö·û£¬Èô²Ù×÷ʧ°Ü£¬·µ»ØEOF(ºêEOF±»¶¨ÒåÓÚstdio.hÖУ¬Í¨³£ÆäֵΪ-1)¡£
3¡¢int getch(void);
int getche(void);
Á½¸ö×î³£ÓõĽ»»¥Ê½º¯Êý£¬¶ÔÓÚ´ó¶àÊý±àÒëÆ÷£¬ÕâЩº¯ÊýµÄÔÐͶ¼¿ÉÔÚÍ·Îļþconio.hÖÐÕÒµ½£¬¶ÔÓÚijЩ±àÒëÆ÷ÖÐÕâЩº¯ÊýÇ°ÃæÓÐһϻ®Ïß¡£Èç_getch()ºÍ_getche();Õâ¾ÍÊÇΪʲôÔÚVS ......
ǰÁ½ÌìдC++ʵϰ×÷Òµ£¬Í»È»·¢ÏÖI/OÊÇÄÇôµÄİÉú£¬´òÁ˺ó¤Ê±¼äµÄÎļþ¶¼Ã»Óдò¿ª£¬½ñÌìÖÕÓÚÓеãʱ¼äÁË£¬¾ö¶¨ÕÒ±¾Ê飬ºÃºÃÕûÀíһϣ¬ºÍ´ó¼Ò¹²Ïí¡£
C++I/O
C++Ö§³ÖÁ½ÖÖI/O£¬µÚÒ»ÖÖÊÇ´ÓCÓïÑԼ̳ÐÀ´µÄ£¬Ò»ÖÖÊÇÓÉC++¶¨ÒåµÄÃæÏò¶ÔÏóI/Oϵͳ¡£
1¡¢int getchar(void);·µ»ØÒ»¸öÕûÊýÖµ£¬Ò²¿ÉÒÔÖ¸¶¨Õâ¸öֵΪchar±äÁ¿£¬ÒòΪÕâ¸ö×Ö·û°üº¬ÓÚµÍλ×Ö½ÚÖÐ(¸ßλ×Ö½Úͨ³£Îª0)£¬Èç¹ûÓÐ´í£¬getchar()·µ»ØEOF¡£µ«ÊÇËûÓÐÒ»¸öDZÔÚµÄÎÊÌ⣬Õý³£Çé¿öÏ£¬getchar()»º´æÊäÈ룬ֱµ½¼üÈëÁ˻سµ¼ü(Õâ¸ö´ó¼ÒÓ¦¸ÃÉîÓÐÌå»á£¬¾ÍÊÇgetchar()Ã²ËÆÖ»ÈÏʶ»Ø³µ¼ü£¬ÔÀ´ÊÇÕâ¸öÔÒò)Õâ³ÆÎªÐлº³åÊäÈ룬ÔÚ¼üÈëµÄ×Ö·ûʵ¼Ê´«Ë͸ø³ÌÐò֮ǰ±ØÐëÇÃÈëÒ»¸ö»Ø³µ¼ü¡£
2¡¢int putchar(int c);
ËäÈ»putchar()´øÒ»¸öÕûÊý²ÎÊý£¬Í¨³£¿ÉÒÔÓÃÒ»¸ö×Ö·ûµÄ±äÔªµ÷ÓÃËü£¬µ«ÊÇÖ»ÓÐÆäµÍλ×Ö½Ú±»Êµ¼ÊÊä³öµ½ÆÁÄ»ÉÏ£¬putchar()º¯Êý·Å»Ø±»Ð´ÈëµÄ×Ö·û£¬Èô²Ù×÷ʧ°Ü£¬·µ»ØEOF(ºêEOF±»¶¨ÒåÓÚstdio.hÖУ¬Í¨³£ÆäֵΪ-1)¡£
3¡¢int getch(void);
int getche(void);
Á½¸ö×î³£ÓõĽ»»¥Ê½º¯Êý£¬¶ÔÓÚ´ó¶àÊý±àÒëÆ÷£¬ÕâЩº¯ÊýµÄÔÐͶ¼¿ÉÔÚÍ·Îļþconio.hÖÐÕÒµ½£¬¶ÔÓÚijЩ±àÒëÆ÷ÖÐÕâЩº¯ÊýÇ°ÃæÓÐһϻ®Ïß¡£Èç_getch()ºÍ_getche();Õâ¾ÍÊÇΪʲôÔÚVS ......
¸ñʽ: echo "\033[×Ö±³¾°ÑÕÉ«;×ÖÌåÑÕÉ«m×Ö·û´®\033[0m"
ÀýÈç:
echo "\033[41;36m something here \033[0m"
ÆäÖÐ41µÄλÖôú±íµ×É«, 36µÄλÖÃÊÇ´ú±í×ÖµÄÑÕÉ«
ÄÇЩascii code ÊǶÔÑÕÉ«µ÷ÓõÄʼĩ.
\033[ ; m …… \033[0m
×Ö±³¾°ÑÕÉ«·¶Î§:40----49
40:ºÚ
41:Éîºì
42:ÂÌ
43:»ÆÉ«
44:À¶É«
45:×ÏÉ«
46:ÉîÂÌ
47:°×É«
×ÖÑÕÉ«:30-----------39
30:ºÚ
31:ºì
32:ÂÌ
33:Ȯ
34:À¶É«
35:×ÏÉ«
36:ÉîÂÌ
37:°×É«
===============================================ANSI¿ØÖÆÂëµÄ˵Ã÷
\33[0m ¹Ø±ÕËùÓÐÊôÐÔ
\33[1m ÉèÖøßÁÁ¶È
\33[4m Ï»®Ïß
\33[5m ÉÁ˸
\33[7m ·´ÏÔ
\33[8m ÏûÒþ
\33[30m -- \33[37m ÉèÖÃǰ¾°É«
\33[40m -- \33[47m ÉèÖñ³¾°É«
\33[nA ¹â±êÉÏÒÆnÐÐ
\33[nB ¹â±êÏÂÒÆnÐÐ
\33[nC ¹â±êÓÒÒÆnÐÐ
\33[nD ¹â±ê×óÒÆnÐÐ
\33[y;xHÉèÖùâ±êλÖÃ
\33[2J ÇåÆÁ
\33[K Çå³ý´Ó¹â±êµ½ÐÐβµÄÄÚÈÝ
\33[s ±£´æ¹â±êλÖÃ
\33[u »Ö¸´¹â±êλÖÃ
\33[?25l Òþ²Ø¹â±ê
\33[?25h ÏÔʾ¹â±ê
***************************
#include <stdio.h>
int
main(int argc,char **argv)
{
printf("\033[31m The ......
¸ñʽ: echo "\033[×Ö±³¾°ÑÕÉ«;×ÖÌåÑÕÉ«m×Ö·û´®\033[0m"
ÀýÈç:
echo "\033[41;36m something here \033[0m"
ÆäÖÐ41µÄλÖôú±íµ×É«, 36µÄλÖÃÊÇ´ú±í×ÖµÄÑÕÉ«
ÄÇЩascii code ÊǶÔÑÕÉ«µ÷ÓõÄʼĩ.
\033[ ; m …… \033[0m
×Ö±³¾°ÑÕÉ«·¶Î§:40----49
40:ºÚ
41:Éîºì
42:ÂÌ
43:»ÆÉ«
44:À¶É«
45:×ÏÉ«
46:ÉîÂÌ
47:°×É«
×ÖÑÕÉ«:30-----------39
30:ºÚ
31:ºì
32:ÂÌ
33:Ȯ
34:À¶É«
35:×ÏÉ«
36:ÉîÂÌ
37:°×É«
===============================================ANSI¿ØÖÆÂëµÄ˵Ã÷
\33[0m ¹Ø±ÕËùÓÐÊôÐÔ
\33[1m ÉèÖøßÁÁ¶È
\33[4m Ï»®Ïß
\33[5m ÉÁ˸
\33[7m ·´ÏÔ
\33[8m ÏûÒþ
\33[30m -- \33[37m ÉèÖÃǰ¾°É«
\33[40m -- \33[47m ÉèÖñ³¾°É«
\33[nA ¹â±êÉÏÒÆnÐÐ
\33[nB ¹â±êÏÂÒÆnÐÐ
\33[nC ¹â±êÓÒÒÆnÐÐ
\33[nD ¹â±ê×óÒÆnÐÐ
\33[y;xHÉèÖùâ±êλÖÃ
\33[2J ÇåÆÁ
\33[K Çå³ý´Ó¹â±êµ½ÐÐβµÄÄÚÈÝ
\33[s ±£´æ¹â±êλÖÃ
\33[u »Ö¸´¹â±êλÖÃ
\33[?25l Òþ²Ø¹â±ê
\33[?25h ÏÔʾ¹â±ê
***************************
#include <stdio.h>
int
main(int argc,char **argv)
{
printf("\033[31m The ......
1¡¢ÓзûºÅ±äÁ¿ÓëÎÞ·ûºÅ±äÁ¿ÖµµÄ±ä»»
½«ÓзûºÅ±äÁ¿×ª»»ÎªÎÞ·ûºÅ±äÁ¿£¬×¢Ò⸺ÊýµÄת»»¡£
2¡¢ÊýÖµµÄ½»»»
//ʹÓÃÁÙʱ±äÁ¿
void Swap1(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
//ʹÓÃËãÊõÔËË㣬Ò×·¢ÉúÊý¾ÝµÄÒç³ö
void Swap2(int &a, int &b)
{
a = a + b;
b = a - b;
a = a - b;
}
//ʹÓÃλÔËËã·û
void Swap3(int &a, int &b)
{
a ^= b;
b ^= a;
a ^= b;
}
3¡¢¹ØÓÚÍ·ÎļþµÄ½á¹¹µÄÀí½â
1 #ifndef _INCvxWorksh
2 #define _INCvxWorksh
3 #ifdef _Cplusplus
4 extern "C" {
5 #endif
6
7 #ifdef _cplusplus
8 }
9 #end ......
1¡¢ÓзûºÅ±äÁ¿ÓëÎÞ·ûºÅ±äÁ¿ÖµµÄ±ä»»
½«ÓзûºÅ±äÁ¿×ª»»ÎªÎÞ·ûºÅ±äÁ¿£¬×¢Ò⸺ÊýµÄת»»¡£
2¡¢ÊýÖµµÄ½»»»
//ʹÓÃÁÙʱ±äÁ¿
void Swap1(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
//ʹÓÃËãÊõÔËË㣬Ò×·¢ÉúÊý¾ÝµÄÒç³ö
void Swap2(int &a, int &b)
{
a = a + b;
b = a - b;
a = a - b;
}
//ʹÓÃλÔËËã·û
void Swap3(int &a, int &b)
{
a ^= b;
b ^= a;
a ^= b;
}
3¡¢¹ØÓÚÍ·ÎļþµÄ½á¹¹µÄÀí½â
1 #ifndef _INCvxWorksh
2 #define _INCvxWorksh
3 #ifdef _Cplusplus
4 extern "C" {
5 #endif
6
7 #ifdef _cplusplus
8 }
9 #end ......
Linux
ÏÂ
C
¿ª·¢——
gcc
£¬
gdb
µÄʹÓÃ
×÷Õߣº
zccst
ÎÒÃÇѧϰµÄ¹ý³ÌÓ¦¸ÃÊÇÒ»¸ö»ýÀ۵Ĺý³Ì£¬ÓÐÎÞµ½ÓУ¬ÓÖÉÙµ½¶à£¬¶ø²»ÄÜÏñÏÂɽµÄºï×Ó¡£
9
Ô·ݵÄʱºòÊǵÚÒ»´Îϵͳѧϰ
gcc, gdb, makefile
£¨Ïê¼ûÇ°Ãæ²©¿Í£©¡£Èç½ñ×÷ΪǶÈëʽϵͳµÄÒ»¸ö×é³É²¿·Ö£¬¾ö¶¨ÖØÑ§Ò»´Î£¬¸Ð¾õÀí½â¼ÓÉîÁËһЩ¡£
gcc
±àÒëÆ÷
ǰÌá±à¼¹¤¾ßµÄʹÓãº
vi
vim
Emacs
µÈ¡£
ÀíÂÛÆª
gcc
¿ÉÒÔʹ³ÌÐòÔ±Áé»îµØ¿ØÖƱàÒë¹ý³Ì¡£±àÒë¹ý³ÌÒ»°ã¿ÉÒÔ·ÖΪÏÂÃæËĸö½×¶Î£¬Ã¿¸ö½×¶Î·Ö±ðµ÷Óò»Í¬µÄ¹¤¾ß½øÐд¦Àí£¬Èçͼ
9-18
Ëùʾ¡£
Linux
ϵͳÖпÉÖ´ÐÐÎļþÓÐÁ½ÖÖ¸ñʽ¡£µÚÒ»ÖÖ¸ñʽÊÇ
a.out
¸ñʽ£¬ÕâÖÖ¸ñʽÓÃÓÚÔçÆÚµÄ
Linux
ϵͳÒÔ¼°
Unix
ϵͳµÄÔʼ¸ñʽ¡£
a.out
À´×ÔÓÚ
Unix C
±àÒë³ÌÐòĬÈϵĿÉÖ´ÐÐÎļþÃû¡£µ±Ê¹Óù²Ïí¿âʱ£¬
a.out
¸ñʽ¾Í»á·¢ÉúÎÊÌâ¡£°Ñ
a.out
¸ñʽµ÷ÕûΪ¹²Ïí¿âÊÇÒ»Öַdz£¸´ÔӵIJÙ×÷£¬ÓÉÓÚÕâ¸öÔÒò£¬Ò»ÖÖеÄÎļþ¸ñʽ±»ÒýÈë
Unix
ϵͳ
5
µÄµÚËİ汾ºÍ
Solaris
ϵͳÖС£Ëü±»³ÆÎª¿ÉÖ´ÐкÍÁ¬½ÓµÄ¸ñʽ£¨
ELF
£©¡£ÕâÖÖ¸ñʽºÜÈÝÒ×ʵÏÖ¹²Ïí¿â¡£
ELF ......
Linux
ÏÂ
C
¿ª·¢——
gcc
£¬
gdb
µÄʹÓÃ
×÷Õߣº
zccst
ÎÒÃÇѧϰµÄ¹ý³ÌÓ¦¸ÃÊÇÒ»¸ö»ýÀ۵Ĺý³Ì£¬ÓÐÎÞµ½ÓУ¬ÓÖÉÙµ½¶à£¬¶ø²»ÄÜÏñÏÂɽµÄºï×Ó¡£
9
Ô·ݵÄʱºòÊǵÚÒ»´Îϵͳѧϰ
gcc, gdb, makefile
£¨Ïê¼ûÇ°Ãæ²©¿Í£©¡£Èç½ñ×÷ΪǶÈëʽϵͳµÄÒ»¸ö×é³É²¿·Ö£¬¾ö¶¨ÖØÑ§Ò»´Î£¬¸Ð¾õÀí½â¼ÓÉîÁËһЩ¡£
gcc
±àÒëÆ÷
ǰÌá±à¼¹¤¾ßµÄʹÓãº
vi
vim
Emacs
µÈ¡£
ÀíÂÛÆª
gcc
¿ÉÒÔʹ³ÌÐòÔ±Áé»îµØ¿ØÖƱàÒë¹ý³Ì¡£±àÒë¹ý³ÌÒ»°ã¿ÉÒÔ·ÖΪÏÂÃæËĸö½×¶Î£¬Ã¿¸ö½×¶Î·Ö±ðµ÷Óò»Í¬µÄ¹¤¾ß½øÐд¦Àí£¬Èçͼ
9-18
Ëùʾ¡£
Linux
ϵͳÖпÉÖ´ÐÐÎļþÓÐÁ½ÖÖ¸ñʽ¡£µÚÒ»ÖÖ¸ñʽÊÇ
a.out
¸ñʽ£¬ÕâÖÖ¸ñʽÓÃÓÚÔçÆÚµÄ
Linux
ϵͳÒÔ¼°
Unix
ϵͳµÄÔʼ¸ñʽ¡£
a.out
À´×ÔÓÚ
Unix C
±àÒë³ÌÐòĬÈϵĿÉÖ´ÐÐÎļþÃû¡£µ±Ê¹Óù²Ïí¿âʱ£¬
a.out
¸ñʽ¾Í»á·¢ÉúÎÊÌâ¡£°Ñ
a.out
¸ñʽµ÷ÕûΪ¹²Ïí¿âÊÇÒ»Öַdz£¸´ÔӵIJÙ×÷£¬ÓÉÓÚÕâ¸öÔÒò£¬Ò»ÖÖеÄÎļþ¸ñʽ±»ÒýÈë
Unix
ϵͳ
5
µÄµÚËİ汾ºÍ
Solaris
ϵͳÖС£Ëü±»³ÆÎª¿ÉÖ´ÐкÍÁ¬½ÓµÄ¸ñʽ£¨
ELF
£©¡£ÕâÖÖ¸ñʽºÜÈÝÒ×ʵÏÖ¹²Ïí¿â¡£
ELF ......
CÓïÑԺ궨ÒåʵÓÃ×ܽá
ºê¶¨ÒåÁËÒ»¸ö´ú±íÌØ¶¨ÄÚÈݵıêʶ·û¡£
Ô¤´¦Àí¹ý³Ì»á°ÑÔ´´úÂëÖгöÏֵĺê±êʶ·ûÌæ»»³Éºê¶¨ÒåʱµÄÖµ¡£
ºê×î³£¼ûµÄÓ÷¨ÊǶ¨Òå´ú±íij¸öÖµµÄÈ«¾Ö·ûºÅ¡£
ºêµÄµÚ¶þÖÖÓ÷¨ÊǶ¨Òå´ø²ÎÊýµÄºê£¬ÕâÑùµÄºê¿ÉÒÔÏóº¯ÊýÒ»Ñù±»µ÷Ó㬵«ËüÊÇÔÚµ÷ÓÃÓï¾ä´¦Õ¹¿ªºê£¬²¢Óõ÷ÓÃʱµÄʵ¼Ê²ÎÊýÀ´´úÌæ¶¨ÒåÖеÄÐÎʽ²ÎÊý¡£
1.#defineÖ¸Áî
#define MAX_NUM 10
int array[MAX_NUM];
for(i=0;i<MAX_NUM;i++) /*……*/
#define VERSION "Version 1.0 Copyright(c) 2003"
2.´ø²ÎÊýµÄ#defineÖ¸Áî
¡¡#define IS_EVEN(n) ((n)%2==0)
¡¡#define MAX(x,y) ((x)>(y) ? (x) :(y))
#define Cube(x) (x)*(x)*(x)
¿ÉÒÔÊÇÈκÎÊý×Ö±í´ïʽÉõÖÁº¯Êýµ÷ÓÃÀ´´úÌæ²ÎÊýx¡£
3.#ÔËËã·û
#µÄ¹¦ÄÜÊǽ«ÆäºóÃæµÄºê²ÎÊý½øÐÐ×Ö·û´®»¯²Ù×÷£¨Stringfication£©£¬¼òµ¥Ëµ¾ÍÊÇÔÚ¶ÔËüËùÒýÓõĺê±äÁ¿Í¨¹ýÌæ»»ºóÔÚÆä×óÓÒ¸÷¼ÓÉÏÒ»¸öË ......
³£Óú궨Òå
1¡¢·ÀÖ¹Ò»¸öÍ·Îļþ±»Öظ´°üº¬
#ifndef COMDEF_H
#define COMDEF_H
//Í·ÎļþÄÚÈÝ
#endif
2¡¢ÖØÐ¶¨ÒåһЩÀàÐÍ£¬·ÀÖ¹ÓÉÓÚ¸÷ÖÖÆ½Ì¨ºÍ±àÒëÆ÷µÄ²»Í¬£¬¶ø²úÉúµÄÀàÐÍ×Ö½ÚÊý²îÒ죬·½±ãÒÆÖ²¡£
typedef unsigned char boolean; /* Boolean value type. */
typedef unsigned long int uint32; /* Unsigned 32 bit value */
typedef unsigned short uint16; /* Unsigned 16 bit value */
typedef unsigned char uint8; /* Unsigned 8 bit value */
typedef signed long int int32; /* Signed 32 bit value */
typedef signed short int16; /* Signed 16 bit value */
typedef signed char int8; ......