fopenfwriteµÄ¼òµ¥½éÉÜ
Îļþ¶Áдº¯Êý¡ª¡ªfwriteºÍfread
1¡¢fwriteºÍfreadº¯ÊýÊÇCÓïÑÔÖÐÓÃÓÚÎļþ¶ÁдµÄÁ½¸öÖØÒªº¯Êý¡£fwriteº¯Êý£º ¹¦ÄÜ£º½«ÄÚ´æÖеÄÊý¾ÝдÈëµ½ÎļþÖС£ ʹÓøñʽ£ºfwrite£» buffer£º´æ·ÅÊý¾ÝµÄÄÚ´æÆðʼµØÖ·¡£ size£ºÊý¾Ý¿é´óС¡£ count£ºÐ´ÈëÊý¾Ý¿éÊýÁ¿¡£ fp£ºÎļþÖ¸Õ룬ָÏòҪдÈëµÄÎļþ¡£
2¡¢fwriteº¯ÊýÓÃÓÚ½«Êý¾Ý´ÓÄÚ´æÐ´ÈëÎļþ£¬freadº¯ÊýÓÃÓÚ´ÓÎļþ¶ÁÈ¡Êý¾Ýµ½ÄÚ´æ¡£fwriteº¯Êý£º ¹¦ÄÜ£º½«ÄÚ´æÖеÄÊý¾ÝдÈëÎļþ¡£ ²ÎÊý£º ptr£ºÖ¸ÏòҪдÈëÎļþµÄÊý¾ÝµÄÖ¸Õë¡£ size£ºÃ¿¸öÊý¾ÝÔªËØµÄ×Ö½Ú´óС¡£ count£ºÒªÐ´ÈëµÄÊý¾ÝÔªËØÊýÁ¿¡£ stream£ºÎļþÖ¸Õ룬ָÏòÄ¿±êÎļþ¡£
3¡¢Á˽âfwriteºÍfreadº¯ÊýÔÚÎļþ¶ÁдÖеÄÓ¦Óᣠfreadº¯ÊýµÄʹÓøñʽΪfread£¨buffer£¬ size£¬ count£¬ fp£©£» ÆäÖУ¬bufferÊÇ´æ·ÅÊý¾ÝµÄÄÚ´æÆðʼµØÖ·£¬size±íʾÊý¾Ý¿é´óС£¨×Ö½ÚÊý£©£¬countΪ¶ÁÈ¡Êý¾Ý¿éÊýÁ¿£¬fpÊÇÎļþÖ¸Õë¡£
4¡¢CÓïÑÔÌṩÁ˶àÖÖÎļþ¶Áдº¯Êý£¬ÆäÖÐfwriteºÍfreadÊÇCÓïÑÔ±ê×¼¿âÖеĺ¯Êý£¬¶øwriteºÍreadÔòÊÇUNIXϵͳ¼¶±ðµÄº¯Êý¡£ËüÃÇÖ®¼ä´æÔÚÏÔÖøµÄ²îÒ죬Ö÷ÒªÌåÏÖÔÚ²ÎÊý¡¢·µ»ØÖµ¡¢Êý¾ÝÀàÐÍ¡¢ÒÔ¼°Ê¹ÓõĻº³åÇøµÈ·½Ãæ¡£²ÎÊý²»Í¬ fwrite£¨£©ºÍfread£¨£©£ºÕâÁ½¸öº¯ÊýÐèÒª´«µÝÎļþÖ¸Õë²ÎÊý¡£
PHPº¯Êýfwrite()µÄÓ÷¨
1¡¢f = fopen£¨a.txt£¬a£©£»½ÓÏÂÀ´£¬Ê¹ÓÃfwriteº¯ÊýдÈëÄÚÈÝ¡°asd¡±Ê±£¬½«»á×·¼Óµ½Îļþĩ⣬¶ø²»ÊÇÌæ»»ÔÓеÄÄÚÈÝ¡£ÕâÈ·±£ÁËÎļþÖÐÔÓеÄÄÚÈݲ»»á±»É¾³ý£¬¶øÊDZ£³Ö²»±ä¡£Èç¹ûÄãÏ£ÍûÔÚÎļþ¿ªÍ·²åÈëÐÂÄÚÈÝ£¬¿ÉÒÔÏȶÁÈ¡ÎļþÄÚÈÝ£¬È»ºó½«ÐÂÄÚÈݺÍÔÓÐÄÚÈÝÆ´½ÓÆðÀ´£¬×îºóÔÙ´ÎʹÓÃfwriteº¯Êý½«Õû¸ö×Ö·û´®Ð´ÈëÎļþ¡£
2¡¢ÔÚPHPÖУ¬fwriteº¯ÊýÓÃÓÚÏòÎļþдÈëÊý¾Ý£¬ÌرðÊʺϴ¦Àí¶þ½øÖÆÎļþ¡£Æäº¯ÊýÔÐÍΪ£ºint fwrite £¨ resource handle£¬ string string [£¬ int length] £©¸Ãº¯Êý½ÓÊÜÈý¸ö²ÎÊý£º handle£ºÒ»¸öÎļþÖ¸Õ룬ͨ³£Í¨¹ýfopenº¯Êý»ñÈ¡¡£ string£ºÒªÐ´ÈëÎļþµÄÊý¾Ý×Ö·û´®¡£
3¡¢·½·¨Ò»£ºÊ¹ÓÃfwrite£¨£©½áºÏserialize£¨£©Ê×ÏÈ£¬Ê¹ÓÃserialize£¨£©º¯Êý½«Êý×éת»»Îª×Ö·û´®¸ñʽ¡£Õâ¸öº¯Êý»áÉú³ÉÒ»¸ö¿É´æ´¢»ò´«ÊäµÄ±íʾPHPµÄÖµµÄ×Ö½ÚÁ÷¡£È»ºó£¬Ê¹ÓÃfopen£¨£©º¯Êý´ò¿ª»ò´´½¨Ò»¸öTXTÎļþ£¬Ä£Ê½ÉèÖÃΪw£¨Ð´Èëģʽ£©¡£½Ó×Å£¬Ê¹ÓÃfwrite£¨£©º¯Êý½«ÐòÁл¯ºóµÄÊý×éÊý¾ÝдÈë¸ÃÎļþ¡£
4¡¢ÎļþÁ÷ ÎļþÁ÷ÓÃÓÚ¶Áд±¾µØÎļþϵͳÖеÄÎļþ¡£Ïà¹Øº¯Êý°üÀ¨£ºfopen£¨£©£º´ò¿ªÎļþ£¬²¢·µ»ØÒ»¸öÎļþÖ¸Õ룬ÓÃÓÚºóÐøµÄÎļþ²Ù×÷¡£fclose£¨£©£º¹Ø±ÕÎļþÖ¸Õ룬ÊÍ·Åϵͳ×ÊÔ´¡£fgets£¨£©£º´ÓÎļþÖ¸ÕëÖжÁȡһÐС£fread£¨£©£º´ÓÎļþÖ¸ÕëÖжÁȡָ¶¨³¤¶ÈµÄÊý¾Ý¡£fwrite£¨£©£ºÏòÎļþÖ¸ÕëдÈëÊý¾Ý¡£
5¡¢ÀàÐÍ¿ÉÒÔÊÇstring£¬array»òÕßstream×ÊÔ´¡£Èç¹ûdataÖ¸¶¨Îªstream×ÊÔ´£¬ÕâÀïstreamÖÐËù±£´æµÄ»º´æÊý¾Ý½«±»Ð´Èëµ½Ö¸¶¨ÎļþÖУ¬ÕâÖÖÓ÷¨¾ÍÏàËÆÓÚʹÓÃstream_copy_to_stream£¨£©º¯Êý¡£data¿ÉÒÔÊÇÊý×飨 µ«²»ÄÜΪ¶àάÊý×é £©£¬Õâ¾ÍÏ൱ÓÚfile_put_contents£¨$filename£¬join£¨£¬$array£©¡£
6¡¢file = txt£»//ҪдÈëµÄÎļþ fp = @fopen£¨$file£¬ w£©£»//дÈ뷽ʽ´ò¿ªÎļþ£¬Èç¹ûÎļþÒÑÓÐÄÚÈÝÔòÇå¿Õ£¬Èç¹û²»ÏëÇë¿Õ£¬Çë°Ñw¸Ä³Éa fwrite£¨$fp£¬ дÈëµÄÄÚÈÝдÔÚÕâÀ£»fclose£¨$fp£©£»//дÈë³É¹¦£¬¹Ø±ÕÎļþ ¾ßÌå²Î¿¼fopen£¬fwrite£¬fcloseº¯Êý£¬ÊÖ²áÉÏÓÐÍêÕûµÄʾÀý¡£

MFCÎļþµÄ¶ÁÈ¡ºÍ±£´æ¡ª¡ªÏê½âfopen_s(),fwrite(),fflush()ÒÔ¼°fclose...
1¡¢×ÛÉÏËùÊö£¬Í¨¹ýºÏÀíʹÓà fopen_s£¨£©£¬ fwrite£¨£©£¬ fflush£¨£© ºÍ fclose£¨£© º¯Êý£¬¿ÉÒÔʵÏÖMFCÎļþµÄ¸ßЧ¶ÁÈ¡Óë±£´æ¡£¹Ø¼üÔÚÓÚÀí½â¸÷º¯ÊýµÄ²ÎÊý¡¢·µ»ØÖµÒÔ¼°Îļþ·ÃÎÊģʽ£¬ÒÔÈ·±£²Ù×÷µÄ׼ȷÐÔºÍЧÂÊ¡£
2¡¢¶¨Ò庯Êý int fclose£¨FILE * stream£©£»º¯Êý˵Ã÷ fclose£¨£©ÓÃÀ´¹Ø±ÕÏÈǰfopen£¨£©´ò¿ªµÄÎļþ¡£´Ë¶¯×÷»áÈûº³åÇøÄÚµÄÊý¾ÝдÈëÎļþÖУ¬²¢ÊÍ·ÅϵͳËùÌṩµÄÎļþ×ÊÔ´¡£·µ»ØÖµ Èô¹ØÎļþ¶¯×÷³É¹¦Ôò·µ»Ø0£¬ÓдíÎó·¢ÉúʱÔò·µ»ØEOF²¢°Ñ´íÎó´úÂë´æµ½errno¡£´íÎó´úÂë EBADF±íʾ²ÎÊýstream·ÇÒÑ´ò¿ªµÄÎļþ¡£·¶Àý Çë²Î¿¼fopen£¨£©¡£
3¡¢set_s£¨2£¬¡±Windows2000.¡±£©£»stream=fopen£¨¡°/tmp/fwrite¡±£¬¡±w¡±£©£»fwrite£¨s£¬sizeof£¨struct test£©£¬nmemb£¬stream£©£»fclose£¨stream£©£»} Ö´ÐÐ ²Î¿¼fread£¨£©¡£
4¡¢Ïà¹Øº¯Êý£ºopen£¬fclose£¬fopen_s[1] £¬_wfopen ËùÐè¿â£º·µ»ØÖµ£ºÎļþ˳Àû´ò¿ªºó£¬Ö¸Ïò¸ÃÁ÷µÄÎļþÖ¸Õë¾Í»á±»·µ»Ø¡£Èô¹ûÎļþ´ò¿ªÊ§°ÜÔò·µ»ØNULL£¬²¢°Ñ´íÎó´úÂë´æÔÚerrno ÖС£
cÓïÑÔfwrite¡¢fread¡¢write¡¢readµÄÇø±ð
CÓïÑÔÌṩÁ˶àÖÖÎļþ¶Áдº¯Êý£¬ÆäÖÐfwriteºÍfreadÊÇCÓïÑÔ±ê×¼¿âÖеĺ¯Êý£¬¶øwriteºÍreadÔòÊÇUNIXϵͳ¼¶±ðµÄº¯Êý¡£ËüÃÇÖ®¼ä´æÔÚÏÔÖøµÄ²îÒ죬Ö÷ÒªÌåÏÖÔÚ²ÎÊý¡¢·µ»ØÖµ¡¢Êý¾ÝÀàÐÍ¡¢ÒÔ¼°Ê¹ÓõĻº³åÇøµÈ·½Ãæ¡£²ÎÊý²»Í¬ fwrite£¨£©ºÍfread£¨£©£ºÕâÁ½¸öº¯ÊýÐèÒª´«µÝÎļþÖ¸Õë²ÎÊý¡£
ÔÚCÓïÑÔÖУ¬fwrite£¨£©ºÍfread£¨£©ÊDZê×¼¿âÖд¦ÀíÎļþ¶ÁдµÄ¹¤¾ß£¬¶øwrite£¨£©ºÍread£¨£©ÔòÊÇϵͳ¼¶±ðµÄº¯Êý¡£ËüÃǵÄÖ÷Òª²îÒìÔÚÓÚʹÓó¡¾°ºÍµ×²ã»úÖÆ¡£¾¡¹Üfwrite£¨£©ºÍfread£¨£©¿´ËÆÖ±½Ó²Ù×÷£¬µ«Êµ¼Ê²Ù×÷Öлá½èÖúwrite£¨£©ºÍread£¨£©À´Íê³É¡£ÎªÁËÓÅ»¯ÐÔÄÜ£¬Ó¦¾¡Á¿¼õÉÙÆµ·±µÄС¹æÄ£Îļþ²Ù×÷£¬Ò»´Î´¦Àí´óÁ¿Êý¾Ý¡£
CÓïÑÔÖУ¬fwrite£¨£©ºÍfread£¨£©ÊDZê×¼¿âÖÐרÃÅÓÃÓÚÎļþ²Ù×÷µÄº¯Êý£¬ËüÃÇÓëUNIXϵͳµÄwrite£¨£©ºÍread£¨£©ÓÐËù²»Í¬¡£¾¡¹Üµ×²ãʵÏÖ¿ÉÄÜ»áµ÷ÓÃÕâЩµ×²ãº¯Êý£¬µ«ÐÔÄÜÉÏ£¬ÍƼöÒ»´Î´¦Àí´óÁ¿Êý¾ÝÒÔ¼õÉÙÆµ·±²Ù×÷¡£Ê×ÏÈ£¬ÈÃÎÒÃÇÁ˽âfwrite£¨£©ºÍËüµÄ¶ÔÓ¦º¯Êýfread£¨£©¡£
CÓïÑÔÖÐfwrite¡¢fread¡¢write¡¢readµÄÇø±ðÈçÏ£ºfwrite£ºÓÃ;£º½«ÄÚ´æÖеÄÊý¾Ý¿é°´Ö¸¶¨´óСдÈëÎļþ¡£²ÎÊý£º½ÓÊÕptrÖ¸ÏòµÄµØÖ·¡¢Êý¾ÝÏî´óС¡¢ÒªÐ´ÈëµÄÊýÁ¿ÒÔ¼°ÎļþÖ¸Õë¡£·µ»ØÖµ£º·µ»ØÊµ¼ÊдÈëµÄÏîÄ¿Êý¡£ÊÊÓó¡¾°£ºÊʺϴ¦Àí½á¹¹»¯µÄÊý¾Ý¿é£¬ÈçÊý×é»ò½á¹¹ÌåÊý×é¡£
Ò²¾ÍÊÇÓÃread/writeÒª¶Á4´Î´ÅÅÌ£¬¶øÓÃfread/fwriteÔòÖ»Òª¶Á1´Î´ÅÅÌ¡£Ð§ÂʱÈread/writeÒª¸ß4±¶¡£Èç¹û³ÌÐò¶ÔÄÚ´æÓÐÏÞÖÆ£¬ÔòÓÃread/write±È½ÏºÃ¡£¶¼ÓÃfread ºÍfwrite£¬Ëü×Ô¶¯·ÖÅ仺´æ£¬ËÙ¶È»áºÜ¿ì£¬±È×Ô¼ºÀ´×öÒª¼òµ¥¡£
ÔÚÈÕÖ¾¹ÜÀíÖУ¬`read/write`ºÍ`fread/fwrite`ÊÇ»ù±¾µÄÎļþ²Ù×÷º¯Êý£¬ËüÃÇÓÃÓÚ¶ÁÈ¡»òдÈëÎļþÄÚÈÝ¡£`fread/fwrite`Ïà½ÏÓÚ`read/write`£¬ÔÚÊä³öÉ豸»ò´ÅÅÌÎļþʱ£¬`fflush`½ö½«Êý¾Ý¸´ÖƵ½Äں˻º³åÇø£¬¶ø²»Äܱ£Ö¤Êý¾ÝÁ¢¼´Ð´Èë´ÅÅÌ¡£