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
Ïà¹ØÎĵµ£º
C£¬C++ÍøÂç±à³Ìѧϰ¼òÃ÷Ö¸ÄÏ
1. ÔúʵµÄC£¬C++»ù´¡ÖªÊ¶
²Î¿¼×ÊÁÏ¡¶C³ÌÐòÉè¼Æ¡·£¬¡¶C++ primer¡·¡£
2. TCP/IPÐÒé
¾µäÊéÊÇ£ºW.Richard Stevens Öø¡¶TCP/IPÏê½â¡·Èý¾íÊ飬¾í1ÊÇÐÒ飬¾í2ÊÇʵÏÖ£¬¾í3ÊÇTCPÊÂÎñÐÒéµÈ¡£»¹Óйٷ½µÄÐÒéÎĵµ£ºRFC
µ±È»Ò²¿ÉÒÔÔÚÍøÉÏÏÂÔØµç×ÓÊé¡£
¾µäµÄ¿ªÔ´ÐÒé·ÖÎö¹¤¾ß£ºWireshark.
......
Ò»¸ö¼òµ¥µÄC/S¶àÏß³ÌÓ¦ÓÃ,ÉÔ΢À©Õ¹¾Í¿ÉÒÔÓÃÁË
/*socketÊÇÍøÂçÓ¦ÓóÌÐòµÄºËÐÄ£¬ÔÚ·þÎñÆ÷¶Ë»ò¿Í»§¶ËÍøÂçÓ¦ÓóÌÐòÖУ¬socket½ÔΪ²»¿ÉȱÉÙµÄÒªËØ
*ÔÚ·þÎñÆ÷³£¼ûµÄÓ¦ÓÃÓУºFTP·þÎñÆ÷£¬MAIL·þÎñÆ÷£¨SMTP£¬POP3£¬IMAP4ÐÒ飩£¬WEB£¨HTTPÐÒ飩
*½¨Á¢·þÎñÆ÷¶ËSOCKETµÄÓ¦ÓóÌÐò²½ÖèÈçÏ£º
*1¡£½¨Á¢·þÎñÆ÷¶ËµÄSOCKET£¬²¢ÇÒÒÔ´ ......
½ñÌì¿´µ½Ò»ÖֱȽϰ²È«µÄö¾Ùд·¨£¡
enum example
{
item1 = 0,
item2,
item3,
item4,
item5,
max /* when you want to add element,please add before this */
};
µ±ÄãʹÓÃËüµÄʱºò£º
example ex1;
i ......