ÓÃC++ʵÏÖ¼òÆÓµÄÎļþI/O²Ù×Ý´óÊý¾ÝÓ¦ÓÃ

À´Ô´£º»¥ÁªÍø / ×÷ÕߣºSKY / 2017-11-18 23:38 / µã»÷£º
±¾ÎÄÏÈÈݵÄÊÇC++ʵÏÖ¼òÆÓµÄÎļþµÄI/O²Ù×Ý£¬µ«Ô¸¶ÔÄãÓи¨×ô£¬Ò»Â·À´¿´¡£
Tech Neo¼¼ÄÜɳÁú | 11ÔÂ25ºÅ£¬¾ÅÖÝÔÆ/ZStackÓëÄúһ·ÇдèÔÆÆÚ¼äÊÕ¼¯½çÏß´òµãʵ¼ù

Îļþ I/O ÔÚC++Öбȿ¾µ°¸â¼òÆÓ¶àÁË¡£ ÔÚÕâÆªÎÄÕÂÀÎÒ»á¾ßÌå±íÃ÷ASCIIºÍ¶þ½øÖÆÎļþµÄÊäÈëÊä³öµÄÿ¸öϸ½Ú£¬ÖµµÃÁôÒâµÄÊÇ£¬È«²¿ÕâЩ¶¼ÊÇÓÃC++Íê³ÉµÄ¡£

Ò»¡¢ASCII Êä³ö

ΪÁËÐÐʹÏÂÃæµÄÒªÁì, Äã±ØÐè°üÀ¨Í·Îļþ<fstream.h>(ÒëÕß×¢£ºÔڳ߶ÈC++ÖУ¬ÒѾ­ÐÐʹ<fstream>´úÌæ<fstream.h>£¬È«²¿µÄC++³ß¶ÈÍ·Îļþ¶¼ÊÇÎÞºó׺µÄ¡£)¡£ÕâÊÇ <iostream.h>µÄÒ»¸öÀ©Õ¹¼¯, ÌṩÓлº³åµÄÎļþÊäÈëÊä³ö²Ù×Ý. ¾¿¾¹ÉÏ, <iostream.h> ÒѾ­±»<fstream.h>°üÀ¨ÁË, ÒÔÊÇÄã²»±Ø°üÀ¨È«²¿ÕâÁ½¸öÎļþ, ¼ÙÈçÄãÏëÏÔʽ°üÀ¨ËûÃÇ£¬ÄÇÈÎÒâÄã¡£ÎÒÃÇ´ÓÎļþ²Ù×ÝÀàµÄ¼Æ»®¿ªÊ¼, ÎһὲÊÚÔõÑù¾Ù°ìASCII I/O²Ù×Ý¡£ ¼ÙÈçÄã²ÂÊÇ"fstream," ¹§Ï²Äã´ð¶ÔÁË£¡ µ«ÕâÆªÎÄÕÂÏÈÈݵÄÒªÁì,ÎÒÃDZðÀëÐÐʹ"ifstream"?ºÍ "ofstream" À´×÷ÊäÈëÊä³ö¡£

¼ÙÈçÄãÓùý³ß¶È½ÚÖÆÌ¨Á÷"cin"?ºÍ "cout," ÄǴ˿̵Ť×÷¶ÔÄãÀ´ËµºÜ¼òÆÓ¡£ ÎÒÃǴ˿̿ªÊ¼½²Êä³ö²¿ÃÅ£¬ÆðÊ×ÉùÃ÷Ò»¸öÀ๤¾ß¡£

ofstream fout; 

Õâ¾Í¿ÉÒÔÁË£¬²»ÍâÄãÒª´ò¿ªÒ»¸öÎļþµÄ»°, ±ØÐèÏñÕâÑùŲÓÃofstream::open()¡£

fout.open("output.txt"); 

ÄãÒ²¿ÉÒÔ°ÑÎļþÃû×÷Ϊ½á¹¹²ÎÊýÀ´´ò¿ªÒ»¸öÎļþ.

ofstream fout("output.txt"); 

ÕâÊÇÎÒÃÇÐÐʹµÄÒªÁì, ÓÉÓÚÕâÑù½¨ÉèºÍ´ò¿ªÒ»¸öÎļþ¿´ÆðÀ´¸ü¼òÆÓ. ³Ã±ã˵һ¾ä, ¼ÙÈçÄãÒª´ò¿ªµÄÎļþ²»´æÔÚ£¬Ëü»áΪÄ㽨ÉèÒ»¸ö, ÒÔÊDz»Ïûµ£ÓÇÎļþ½¨ÉèµÄÌâÄ¿. ´Ë¿Ì¾ÍÊä³öµ½Îļþ£¬¿´ÆðÀ´ºÍ"cout"µÄ²Ù×ݺÜÏñ¡£ ¶Ô²»Ïàʶ½ÚÖÆÌ¨Êä³ö"cout"µÄÈË, ÕâÀïÓиöÀý×Ó¡£

int num = 150;  

char name[] = "John Doe";  

fout << "Here is a number: " << num << "\n";  

fout << "Now here is a string: " << name << "\n"

´Ë¿ÌÉúÑÄÎļþ£¬Äã±ØÐè·âËøÎļþ£¬¿ÉÄÜ»ØÐ´Îļþ»º³å. Îļþ·âËøÖ®ºó¾Í²»ÄÜÔÙ²Ù×ÝÁË, ÒÔÊÇÖ»ÓÐÔÚÄã²»ÔÙ²Ù×ÝÕâ¸öÎļþµÄʱ³½²ÅŲÓÃËü£¬Ëü»á×Ô¶¯ÉúÑÄÎļþ¡£ »ØÐ´»º³åÇø»áÔÚ±£³ÖÎļþ´ò¿ªµÄ»·¾³ÏÂÉúÑÄÎļþ, ÒÔÊÇÖ»ÒªÓÐÐëÒª¾ÍÐÐʹËü¡£ »ØÐ´¿´ÆðÀ´ÏñÁíÒ»´ÎÊä³ö, È»ºóŲÓÃÒªÁì·âËø¡£ÏñÕâÑù£º

fout << flush; fout.close(); 

´Ë¿ÌÄãÓÃÎı¾±à¼­Æ÷´ò¿ªÎļþ£¬ÄÚÈÝ¿´ÆðÀ´ÊÇÕâÑù£º

Here is a number: 150 Now here is a string: John Doe

ºÜ¼òÆÓ°É! ´Ë¿Ì¼Ì³ÐÎļþÊäÈë, ±ØÒªÒ»µãÄÜÁ¦, ÒÔÊÇÏÈÈ·ÈÏÄãÒѾ­´ó°×ÁËÁ÷²Ù×Ý£¬Ê±´úÕ¾³¤Íø£¬¶Ô "<<" ºÍ">>" ½ÏÁ¿ÈÏʶÁË, ÓÉÓÚÄã½ÓÏÂÀ´»¹ÒªÓõ½ËûÃÇ¡£¼Ì³Ð…

¶þ¡¢ASCII ÊäÈë

ÊäÈëºÍ"cin" Á÷ºÜÏñ. ºÍ·½²Å½ÓÍ·µÄÊä³öÁ÷ºÜÏñ, µ«ÄãҪ˼Á¿¼¸¼þ¹¤×÷¡£ÔÚÎÒÃÇ¿ªÊ¼Î°´óµÄÄÚÈÝ֮ǰ, ÏÈ¿´Ò»¸öÎı¾£º

12 GameDev 15.45 L This is really awesome!

ΪÁË´ò¿ªÕâ¸öÎļþ£¬Äã±ØÐ轨ÉèÒ»¸öin-stream¹¤¾ß,?ÏñÕâÑù¡£

ifstream fin("input.txt"); 

´Ë¿Ì¶ÁÈëǰËÄÐÐ. Ä㻹¼ÇµÃÔõôÓÃ"<<" ²Ù×Ý·ûÍùÁ÷Àï²åÈë±äÁ¿ºÍ±ê¼Ç°É£¿ºÃ,?ÔÚ "<<" (²åÈë)?²Ù×Ý·ûÖ®ºó£¬ÊÇ">>" (ÌáÈ¡) ²Ù×Ý·û. ÐÐʹҪÁìÊÇÒ»ÑùµÄ. ¿´Õâ¸ö´úÂëÆ¬¶Ï.

int number;   

float real;   

char letter, word[8];   

fin >> number; fin >> word; fin >> real; fin >> letter; 

Ò²¿ÉÒÔ°ÑÕâËÄÐжÁÈ¡ÎļþµÄ´úÂëдΪ¸ü¼òÆÓµÄÒ»ÐС£

fin >> number >> word >> real >> letter; 

ËüÊÇÔõÑùÔË×÷µÄÄØ? ÎļþµÄÿ¸ö¿Õȱ֮ºó, ">>" ²Ù×Ý·û»á¶ôÖÆ¶ÁÈ¡ÄÚÈÝ, Ö±µ½Åö×ÅÁíÒ»¸ö>>²Ù×Ý·û. ÓÉÓÚÎÒÃǶÁÈ¡µÄÿһÐж¼±»»»ÐзûÖ§½â¿ª(ÊÇ¿Õȱ×Ö·û), ">>" ²Ù×Ý·ûÖ»°ÑÕâÒ»ÐеÄÄÚÈݶÁÈë±äÁ¿¡£Õâ¾ÍÊÇÕâ¸ö´úÂëÒ²ÄÜÕý³£Ê±äµÄÔµ¹ÊÆðÒò¡£¿ÉÊÇ£¬¿É±ðÍüÁËÎļþµÄ×îºóÒ»ÐС£

This is really awesome!

¼ÙÈçÄãÏë°ÑÕûÐжÁÈëÒ»¸öcharÊý×é, ÎÒÃÇû²½·¥ÓÃ">>"?²Ù×Ý·û£¬ÓÉÓÚÿ¸öµ¥´ÊÖ®¼äµÄ¿Õ¸ñ£¨¿Õȱ×Ö·û£©»áÖÐÖ¹ÎļþµÄ¶ÁÈ¡¡£ÎªÁËÑéÖ¤£º

char sentence[101]; fin >> sentence; 

ÎÒÃÇÏë°üÀ¨Õû¸ö¾ä×Ó, "This is really awesome!" ¿ÉÊÇÓÉÓÚ¿Õȱ, ´Ë¿ÌËüÖ»°üÀ¨ÁË"This". ºÜÃ÷Ã÷, ±Ø¶¨ÓжÁÈ¡ÕûÐеÄÒªÁì, Ëü¾ÍÊÇgetline()¡£Õâ¾ÍÊÇÎÒÃÇÒª×öµÄ¡£

fin.getline(sentence, 100); 

ÕâÊǺ¯Êý²ÎÊý. µÚÒ»¸ö²ÎÊýÏÔÈ»ÊÇÓÃÀ´½Ó¹ÜµÄcharÊý×é. µÚ¶þ¸ö²ÎÊýÊÇÔÚÅö×Å»»Ðзû֮ǰ£¬Êý×éÓ¦³Ð½Ó¹ÜµÄ×î´óÔªËØÊýÄ¿. ´Ë¿ÌÎÒÃÇ»ñµÃÁËÏëÒªµÄ¹¦Ð§£º“This is really awesome!”¡£

ÄãÓ¦¸ÃÒѾ­ÖªµÀÔõÑù¶ÁÈ¡ºÍдÈëASCIIÎļþÁË¡£µ«ÎÒÃÇ»¹²»ÄܰÕÐÝ£¬ÓÉÓÚ¶þ½øÖÆÎļþ»¹ÔÚµÈ×ÅÎÒÃÇ¡£

Èý¡¢¶þ½øÖÆ ÊäÈëÊä³ö

1
3