ÓÃC++ʵÏÖ¼òÆÓµÄÎļþI/O²Ù×Ý´óÊý¾ÝÓ¦ÓÃ
Îļþ 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ÎļþÁË¡£µ«ÎÒÃÇ»¹²»ÄܰÕÐÝ£¬ÓÉÓÚ¶þ½øÖÆÎļþ»¹ÔÚµÈ×ÅÎÒÃÇ¡£
Èý¡¢¶þ½øÖÆ ÊäÈëÊä³ö


