c Îļþ²Ù×÷
1.fopen()
¡¡¡¡fopenµÄÔÐÍÊÇ£ºFILE *fopen(const char
*filename,const char
*mode)£¬fopenʵÏÖÈý¸ö¹¦ÄÜ£ºÎªÊ¹Óöø´ò¿ªÒ»¸öÁ÷£¬°ÑÒ»¸öÎļþºÍ´ËÁ÷ÏàÁ¬½Ó£¬¸ø´ËÁ÷·µ»ØÒ»¸öFILRÖ¸Õë¡£
¡¡¡¡²ÎÊýfilenameÖ¸ÏòÒª´ò¿ªµÄÎļþÃû£¬mode±íʾ´ò¿ª×´Ì¬µÄ×Ö·û´®£¬Æä
ȡֵÈçÏ£º
¡¡¡¡×Ö·û´® º¬Òå
¡¡¡¡"r" ÒÔÖ»¶Á·½Ê½´ò¿ªÎļþ
¡¡¡¡"w" ÒÔֻд·½Ê½´ò¿ªÎļþ
¡¡¡¡"a" ÒÔ×·¼Ó·½Ê½´ò¿ªÎļþ
¡¡¡¡"r+"
ÒÔ¶Á/д·½Ê½´ò¿ªÎļþ£¬ÈçÎÞÎļþ³ö´í
¡¡¡¡"w+"
ÒÔ¶Á/д·½Ê½´ò¿ªÎļþ£¬ÈçÎÞÎļþÉú³ÉÐÂÎļþ
¡¡¡¡Ò»¸öÎļþ¿ÉÒÔÒÔÎı¾Ä£Ê½»ò¶þ½øÖÆÄ£Ê½´ò¿ª£¬ÕâÁ½ÖÖµÄÇø±ðÊÇ£ºÔÚÎı¾Ä£Ê½Öлسµ
±»µ±³ÉÒ»¸ö×Ö·û’\n’£¬¶ø¶þ½øÖÆÄ£Ê½ÈÏΪËüÊÇÁ½¸ö×Ö·û0x0D,0x0A;Èç¹ûÔÚÎļþÖжÁµ½0x1B£¬Îı¾Ä£Ê½»áÈÏΪÕâÊÇÎļþ½áÊø·û£¬Ò²¾ÍÊǶþ½øÖÆÄ£ÐÍ
²»»á¶ÔÎļþ½øÐд¦Àí£¬¶øÎı¾·½Ê½»á°´Ò»¶¨µÄ·½Ê½¶ÔÊý¾Ý×÷ÏàÓ¦µÄת»»¡£
¡¡¡¡ÏµÍ³Ä¬ÈϵÄÊÇÒÔÎı¾Ä£Ê½´ò¿ª£¬¿ÉÒÔÐÞ¸ÄÈ«²¿±äÁ¿_fmodeµÄÖµÀ´ÐÞ¸ÄÕâ¸öÉè
Öã¬ÀýÈç_fmode=O_TEXT;¾ÍÉèÖÃĬÈÏ´ò¿ª·½Ê½ÎªÎı¾Ä£Ê½;¶ø_fmode=O_BINARY;ÔòÉèÖÃĬÈÏ´ò¿ª·½Ê½ÊǶþ½øÖÆÄ£Ê½¡£
¡¡¡¡ÎÒÃÇÒ²¿ÉÒÔÔÚģʽ×Ö·û´®ÖÐÖ¸¶¨´ò¿ªµÄģʽ£¬Èç"rb"±íʾÒÔ¶þ½øÖÆÄ£Ê½´ò¿ªÖ»
¶ÁÎļþ£¬"w+t"»ò"wt+"±íʾÒÔÎı¾Ä£Ê½´ò¿ª¶Á/дÎļþ¡£
¡¡¡¡´Ëº¯Êý·µ»ØÒ»¸öFILEÖ¸Õ룬ËùÒÔÉêÃ÷Ò»¸öFILEÖ¸Õëºó²»Óóõʼ»¯£¬¶øÊÇÓÃ
fopen()À´·µ»ØÒ»¸öÖ¸Õë²¢ÓëÒ»¸öÌØ¶¨µÄÎļþÏàÁ¬£¬Èç¹û³É°Ü£¬·µ»ØNULL.
¡¡¡¡Àý:
¡¡¡¡ ÒÔÏÂÊÇÒýÓÃÆ¬¶Î£º
FILE *fp;
¡¡¡¡if(fp=fopen("123.456","wb"))
¡¡¡¡puts("´ò¿ªÎļþ³É¹¦");
¡¡¡¡else
¡¡¡¡puts("´ò¿ªÎļþ³É°Ü");
2.fclose()
¡¡¡¡fclose()µÄ¹¦ÄܾÍÊǹرÕÓÃfopen()´ò¿ªµÄÎļþ£¬ÆäÔÐÍÊÇ£ºint
fclose(FILE
*fp);Èç¹û³É¹¦£¬·µ»Ø0,ʧ°Ü·µ»ØEOF¡£
¡¡¡¡ÔÚ³ÌÐò½áÊøÊ±Ò»¶¨Òª¼ÇµÃ¹Ø±Õ´ò¿ªµÄÎļþ£¬²»È»¿ÉÄÜ»áÔì³ÉÊý¾Ý¶ªÊ§µÄÇé¿ö£¬ÎÒÒÔ
ǰ¾Í¾³£·¸ÕâÑùµÄ´íÎó¡£
¡¡¡¡Àý£ºfclose(fp);
3.fputc()
¡¡¡¡ÏòÁ÷дһ¸ö×Ö·û£¬ÔÐÍÊÇint fputc(int c, FILE
*stream); ³É¹¦·µ»ØÕâ¸ö×Ö·û,ʧ°Ü·µ»ØEOF¡£
¡¡¡¡Àý£ºfputc(’X’,fp);
4.fgetc()
¡¡¡¡´ÓÁ÷ÖжÁÒ»¸ö×Ö·û£¬ÔÐÍÊÇint fputc(FILE *stream); ³É¹¦·µ»ØÕâ¸ö×Ö·û,ʧ°Ü·µ»ØEOF¡£
¡¡¡¡Àý£ºchar
ch1=fgetc(fp);
5. fseek()
¡¡¡¡´Ëº¯ÊýÒ»°ãÓÃÓÚ¶þ½øÖÆÄ£Ê½´ò¿ªµÄÎļþÖУ¬¹¦ÄÜÊÇ
Ïà¹ØÎĵµ£º
GCC ÖÐÎÄÊÖ²á
¡¡¡¡http://www.nbfan.com/forum/dispbbs....&ID=1433&page=1
¡¡¡¡GNU make Ö¸ÄÏ
¡¡¡¡http:/ ......
http://www.gamedev.net/reference/programming/features/orgfiles/page2.asp
ͨ¹ýËĸöpitfall½²½âÍ·ÎļþµÄÓÉÀ´ºÍºÃ´¦£¬ÒÔ¼°Ê¹ÓÃÍ·Îļþ¶¨Òåinline func and template.
Remember that, as far as the compiler is concerned, there is absolutely no difference between a header file and a source file.
The key idea ......
µÚ1ÕÂ×Ö·û²âÊÔº¯Êýisalnum(²âÊÔ×Ö·ûÊÇ·ñΪӢÎÄ×Öĸ»òÊý×Ö)isalpha(²âÊÔ×Ö·ûÊÇ·ñΪӢÎÄ×Öĸ)isascii(²âÊÔ×Ö·ûÊÇ·ñΪASCIIÂë×Ö·û)isblank(²âÊÔ×Ö·ûÊÇ·ñΪ¿Õ¸ñ×Ö·û)iscntrl(²âÊÔ×Ö·ûÊÇ·ñΪASCIIÂëµÄ¿ØÖÆ×Ö·û)isdigit(²âÊÔ×Ö·ûÊÇ·ñΪ°¢À²®Êý×Ö)isgraph(²âÊÔ×Ö·ûÊÇ·ñΪ¿É´òÓ¡×Ö·û)islower(²âÊÔ×Ö·ûÊÇ·ñΪСдӢÎÄ×Öĸ)isprint(² ......
Ò»¡¢Ò»¸ö¾¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
¡¡¡¡1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ......
---------------------------------------------------
Ãû µÈ¼ÛÖµ º¬ Òå
BLACK 0 ºÚ
BLUE 1 ......