C/C++ Îļþ¶Áд²Ù×÷×ܽá(2)
Îå¡¢Îļþ¶¨Î»
¡¡¡¡ºÍCµÄÎļþ²Ù×÷·½Ê½²»Í¬µÄÊÇ£¬C++ I/Oϵͳ¹ÜÀíÁ½¸öÓëÒ»¸öÎļþÏàÁªÏµµÄÖ¸Õë¡£Ò»¸öÊǶÁÖ¸Õ룬Ëü˵Ã÷ÊäÈë²Ù×÷ÔÚÎļþÖеÄλÖã»ÁíÒ»¸öÊÇдָÕ룬ËüÏ´Îд²Ù×÷µÄλÖá£Ã¿´ÎÖ´ÐÐÊäÈë»òÊä³öʱ£¬ÏàÓ¦µÄÖ¸Õë×Ô¶¯±ä»¯¡£ËùÒÔ£¬C++µÄÎļþ¶¨Î»·ÖΪ¶ÁλÖúÍдλÖõĶ¨Î»£¬¶ÔÓ¦µÄ³ÉÔ±º¯ÊýÊÇ seekg()ºÍ seekp()£¬seekg()ÊÇÉèÖöÁλÖã¬seekpÊÇÉèÖÃдλÖá£ËüÃÇ×îͨÓõÄÐÎʽÈçÏ£º
¡¡¡¡¡¡¡¡istream &seekg(streamoff offset,seek_dir origin);
¡¡¡¡¡¡¡¡ostream &seekp(streamoff offset,seek_dir origin);
¡¡¡¡streamoff¶¨ÒåÓÚ iostream.h ÖУ¬¶¨ÒåÓÐÆ«ÒÆÁ¿ offset ËùÄÜÈ¡µÃµÄ×î´óÖµ£¬seek_dir ±íÊ¾ÒÆ¶¯µÄ»ù׼λÖã¬ÊÇÒ»¸öÓÐÒÔÏÂÖµµÄö¾Ù£º
ios::beg£º¡¡¡¡Îļþ¿ªÍ·
ios::cur£º¡¡¡¡Îļþµ±Ç°Î»ÖÃ
ios::end£º¡¡¡¡Îļþ½áβ
¡¡¡¡ÕâÁ½¸öº¯ÊýÒ»°ãÓÃÓÚ¶þ½øÖÆÎļþ£¬ÒòΪÎı¾Îļþ»áÒòΪϵͳ¶Ô×Ö·ûµÄ½âÊͶø¿ÉÄÜÓëÔ¤ÏëµÄÖµ²»Í¬¡£
Àý£º
¡¡¡¡¡¡¡¡ file1.seekg(1234,ios::cur);//°ÑÎļþµÄ¶ÁÖ¸Õë´Óµ±Ç°Î»ÖÃÏòºóÒÆ1234¸ö×Ö½Ú
¡¡¡¡¡¡¡¡ file2.seekp(1234,ios::beg);//°ÑÎļþµÄдָÕë´ÓÎļþ¿ªÍ·ÏòºóÒÆ1234¸ö×Ö½Ú
--------------------------------------------------------------------------------
¡¡¡¡ÓÐÁËÕâЩ֪ʶ£¬ÎÒÃǾͿÉÒÔÍê³É¶ÔÎļþµÄ²Ù×÷ÁË£¬µ±È»£¬»¹ÓкöàµÄ³ÉÔ±º¯ÊýÎÒû½éÉÜ£¬µ«ÓÐÕâЩÎÒÃÇÒѾÄÜÍê³É´ó¶àÊýµÄÐèÒªÁË£¬ÕâÖÖÎļþ²Ù×÷·½Ê½ÊÇÎұȽÏϲ»¶µÄÒ»ÖÖ·½·¨£¬±ÈCµÄ·½·¨Áé»î£¬ÓÖ±ÈBCBº¯ÊýºÍWINAPIº¯Êý¾ßÓÐͨÓÃÐÔ¡£
¡¡¡¡ÏÂÒ»´Î£¬ÎÒ½«½éÉÜBCBÌṩµÄÎļþ²Ù×÷µÄ¿âº¯Êý¡£
¡¡
¡¡ÔÚBCBÖÐÒ²ÌṩÁËÎļþ²Ù×÷µÄº¯Êý£¬ÕâЩº¯ÊýµÄ¹¦ÄܺÍÇ°ÃæËù½éÉܵĴóÖÂÏàͬ£¬µ«ÕâÀຯÊýºÍBCB¹ØÏµ½ôÃÜ£¬ÄÜʹÓÃBCBÖеÄAnsiStringµÈÊý¾ÝÀàÐÍ£¬ÔÚBCBÖÐÓÃÕâÖÖ·½Ê½µÄÎļþ²Ù×÷ÊÇ×î·½±ãµÄ£¬ÏÂÃæÎҾͰÑÕâÖÖÎļþ²Ù×÷Ïêϸ½éÉÜ¡£
¡¡¡¡ÔÚBCBÌṩµÄÕâ×éÎļþ²Ù×÷º¯ÊýÖУ¬¿É·ÖΪÈýÖÖÀàÐÍ£¬¾ÍÊÇ£º1¡¢ÎļþÃûº¯Êý£¬2¡¢Îļþ¹ÜÀíº¯Êý£»3¡¢ÎļþI/Oº¯Êý¡£
1¡¢ÎļþÃûº¯Êý
¡¡¡¡ÎļþÃûº¯Êý¿ÉÒÔ¶ÔÎļþµÄÃû³Æ¡¢ËùÔÚ×ÓĿ¼¡¢Çý¶¯Æ÷ºÍÀ©Õ¹ÃûµÈ½øÐвÙ×÷¡£Ï±íÁгöÕâЩº¯Êý¼°Æä¹¦ÄÜ¡£
º¯Êý ˵Ã÷
ExpandFileName() ·µ»ØÎļþµÄȫ·¾¶(º¬Çý¶¯Æ÷¡¢Â·¾¶)
ExtractFileExt() ´ÓÎļþÃûÖгéÈ¡À©Õ¹Ãû
ExtractFileName() ´ÓÎļþÃûÖгéÈ¡²»º¬Â·¾¶µÄÎļþÃû
ExtractFilePath() ´ÓÎļþÃûÖгéȡ·¾¶Ãû
ExtractFileDir() ´ÓÎļþÃûÖгéȡĿ¼Ãû
ExtractFileDrive() ´ÓÎļþÃûÖгéÈ¡Çý¶¯Æ÷Ãû
Chang
Ïà¹ØÎĵµ£º
Boss˵£¬Òª¿´OpenGL£¬¿´ÁË¿ìÒ»¸öÔ£¬×ÜËã³öÁ˸öÏñÑùµÄ¶«Î÷£¬ÓÃCдÁ˸ö3DÃÔ¹¬£¬
ËäȻֻÓÐ350ÐÐ
´úÂ룬²»¹ý±ßѧ±ßд£¬×ã×ãдÁËÒ»ÖÜʱ¼ä£¬»¹ÊÇСÓгɾ͸е쬻î»î»î£¡
&n ......
1.ÔÚc³ÌÐòµ÷ÓÃc³ÌÐòºÍc++³ÌÐòµ÷ÓÃc++³ÌÐòʱ£¬²»Éæ¼°¡£
2.ÔÚc³ÌÐòµ÷ÓÃc++³ÌÐòʱ£¬C++µÄÍ·ÎļþÐèÌí¼Óextern "C"£¬µ«ÊÇÔÚCÓïÑÔÖв»ÄÜÖ±½ÓÒýÓÃÉùÃ÷ÁËextern "C"µÄ¸ÃÍ·Îļþ£¬Ó¦¸Ã½ö½«CÎļþÖн«C++Öж¨ÒåµÄextern "C"º¯ÊýÉùÃ÷ΪexternÀàÐÍ¡£
3.ÔÚc++³ÌÐòµ÷ÓÃc³ÌÐòʱ£¬ÔÚ°üº¬CÓïÑÔÍ·Îļþ£¨¼ÙÉèΪcExample.h£©Ê±£¬Ðè½øÐÐÏÂÁд¦Àí£ ......
from: ¡¶×Ô¼º¶¯ÊÖд²Ù×÷ϵͳ¡·
1. ÖжÏÏòÁ¿±í ²é¿´ linux/init/main.c in http://lxr.linux.no/#linux+v2.6.32/init/main.c
2.
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd on ......
½ñÌì¿´µ½Ò»ÖֱȽϰ²È«µÄö¾Ùд·¨£¡
enum example
{
item1 = 0,
item2,
item3,
item4,
item5,
max /* when you want to add element,please add before this */
};
µ±ÄãʹÓÃËüµÄʱºò£º
example ex1;
i ......
ÕâÁ½ÌìÓкܶàÅóÓÑÒѾÂòÁËÊéÁË£¬²¢ÇÒ¿ªÊ¼¿´£¬ºÇºÇ£¬ÎÒÐÄÀïÒ²ºÜ¸ßÐË¡£
àÅ£¬ÒªËµ½ºþÉϲØÁúÎÔ»¢ÄØ£¬Õâ²»£¬Õâ²Å¼¸Ììʱ¼ä£¬ÒѾÓÐÅóÓÑÖ¸³öÎÒÊéÖеÄÒ»´¦Ã÷ÏÔ´íÎó£¬ÕâÀïÎÒÕýʽ¸ø´ó¼Ò˵Ã÷һϣ¬ÃâµÃ¶Ô¸÷λ¶ÁÕßÓиö²»ºÃµÄÎ󵼡£
ÎÊÌâ³öÔÚµÚ26Ò³µÄÒ»¸öͼÒÔ¼°ÆäÏà¹ØÎÄ×Ö¡£ÕâÊǵڶþÕ»ù´¡ÖªÊ¶µÄµÚÒ»½Ú£¬Æäʵ¾ÍÊǹØÓÚÄÚ´æµÄ½²½â£¬´ó¼Ò ......