¡¡¡¡ÎÒÃÇ´ÓÒ»¿ªÊ¼¾ÍÒ»Ö±ÔÚÀûÓÃC++µÄÊäÈëÊä³öÔÚ×öן÷ÖÖÁ·Ï°£¬ÊäÈëÊä³öÊÇÓÉiostream¿âÌṩµÄ£¬ËùÒÔÌÖÂ۴˱ê×¼¿âÊÇÓбØÒªµÄ£¬ËüÓëCÓïÑÔµÄstdio¿â²»Í¬£¬Ëü´ÓÒ»¿ªÊ¼¾ÍÊÇÓöàÖؼ̳ÐÓëÐéÄâ¼Ì³ÐʵÏÖµÄÃæÏò¶ÔÏóµÄ²ã´Î½á¹¹£¬×÷Ϊһ¸öc++µÄ±ê×¼¿â×é¼þÌṩ¸ø³ÌÐòԱʹÓá£
¡¡¡¡iostreamΪÄÚÖÃÀàÐÍÀàÐͶÔÏóÌṩÁËÊäÈëÊä³öÖ§³Ö£¬Í¬Ê±Ò²Ö§³ÖÎļþµÄÊäÈëÊä³ö£¬ÀàµÄÉè¼ÆÕß¿ÉÒÔͨ¹ý¶Ôiostream¿âµÄÀ©Õ¹£¬À´Ö§³Ö×Ô¶¨ÒåÀàÐ͵ÄÊäÈëÊä³ö²Ù×÷¡£
¡¡¡¡ÎªÊ²Ã´ËµÒªÀ©Õ¹²ÅÄÜÌṩ֧³ÖÄØ£¿ÎÒÃÇÀ´Ò»¸öʾÀý¡£
#include <stdio.h> #include <iostream> using namespace std; class Test { public: Test(int a=0,int b=0) { Test::a=a; Test::b=b; } int a; int b; }; int main() { Test t(100,50); printf("%???",t);//²»Ã÷È·µÄÊä³ö¸ñʽ scanf("%???",t);//²»Ã÷È·µÄÊäÈë¸ñʽ cout<<t<<endl;//ͬÑù²»¹»Ã÷È· cin>>t;//ͬÑù²»¹»Ã÷È· system("pause"); }
¡¡¡¡ÓÉÓÚ×Ô¶¨ÒåÀàµÄÌØÊâÐÔ£¬ÔÚÉÏÃæµÄ´úÂëÖУ¬ÎÞÂÛÄãʹÓÃc·ç¸ñµÄÊäÈëÊä³ö£¬»òÕßÊÇc++µÄÊäÈëÊä³ö¶¼²»ÊDz»Ã÷È·µÄÒ»¸ö±íʾ£¬ÓÉÓÚcÓïÑÔûÓÐÔËËã·ûÖØÔØ»úÖÆ£¬µ¼ÖÂstdio¿âµÄ²»¿ÉÀ©³äÐÔ£¬ÈÃÎÒÃÇÎÞ·¨ÈÃprintf()ºÍscanf()Ö§³Ö¶Ô×Ô¶¨ÒåÀà¶ÔÏóµÄÀ©³äʶ±ð£¬¶øc++ÊÇ¿ÉÒÔͨ¹ýÔËËã·ûÖØÔØ»úÖÆÀ©³äiostream¿âµÄ£¬Ê¹ÏµÍ³ÄÜÄܹ»Ê¶±ð×Ô¶¨ÒåÀàÐÍ£¬´Ó¶øÈÃÊäÈëÊä³öÃ÷È·µÄÖªµÀËûÃǸøÉʲô£¬¸ñʽÊÇʲô¡£
¡¡¡¡ÔÚÉÏÀýÖÐÎÒÃÇÖ®ËùÒÔÓÃprintfÓëcout½øÐжԱÈÄ¿µÄÊÇΪÁ˸æËß´ó¼Ò£¬CÓëC++´¦ÀíÊäÈëÊä³öµÄ¸ù±¾²»Í¬£¬ÎÒÃÇ´ÓcÔ¶µÄÊäÈëÊä³ö¿ÉÒÔºÜÃ÷ÏÔ¿´³öÊǺ¯Êýµ÷Ó÷½Ê½£¬¶øc++µÄÔòÊǶÔÏóģʽ£¬coutºÍcinÊÇostreamÀàºÍistreamÀàµÄ¶ÔÏó¡£
¡¡¡¡C++ÖеÄiostream¿âÖ÷Òª°üº¬ÏÂͼËùʾµÄ¼¸¸öÍ·Îļþ:
¡¡¡¡ÎÒÃÇËùÊìϤµÄÊäÈëÊä³ö²Ù×÷·Ö±ðÊÇÓÉistream(ÊäÈëÁ÷)ºÍostream(Êä³öÁ÷)ÕâÁ½¸öÀàÌṩµÄ£¬ÎªÁËÔÊÐíË«ÏòµÄÊäÈ룯Êä³ö£¬ÓÉistreamºÍostreamÅÉÉú³öÁËiostreamÀà¡£
¡¡¡¡ÀàµÄ¼Ì³Ð¹Øϵ¼ûÏÂͼ£º
iostream¿â¶¨ÒåÁËÒÔÏÂÈý¸ö±ê×¼Á÷¶ÔÏó£º
¡¡¡¡£±.cin£¬±íʾ±ê×¼ÊäÈë(standard input)µÄistreamÀà¶ÔÏó¡£cinʹÎÒÃÇ¿ÉÒÔ´ÓÉ豸¶ÁÈçÊý¾Ý¡£ ¡¡¡¡£².cout£¬±íʾ±ê×¼Êä³ö(standard output)µÄostreamÀà¶ÔÏó¡£coutʹÎÒÃÇ¿ÉÒÔÏòÉ豸Êä³ö»òÕßдÊý¾Ý¡£ ¡¡¡¡£³.cerr£¬±íʾ±ê×¼´íÎó(standard error)µÄosttreamÀà¶ÔÏó¡£cerrÊǵ¼³ö³ÌÐò´íÎóÏûÏ¢µÄµØ·½£¬ËüÖ»ÄÜÔÊÐíÏòÆÁÄ»É豸дÊý¾Ý¡£
¡¡¡¡Êä³öÖ÷ÒªÓÉÖØÔصÄ×óÒƲÙ×÷·û£¨<<£©À´Íê³É£¬ÊäÈëÖ÷ÒªÓÉÖØÔصÄÓÒÒƲÙ×÷·û(>>)Íê³É¡£
¡¡¡¡>>a±íʾ½«Êý¾Ý·ÅÈëa¶ÔÏóÖС£ ¡¡¡¡<<a±íʾ½«a¶ÔÏóÖд洢µÄÊý¾ÝÄóö¡£
¡¡¡¡ÕâЩ±ê×¼µÄÁ÷¶ÔÏó¶¼ÓÐĬÈϵÄËù¶ÔÓ¦µÄÉ豸£¬¼ûÏÂ±í£º
¡¡¡¡Í¼ÖеÄÒâ˼±íÃ÷cin¶ÔÏóµÄĬÈÏÊäÈëÉ豸ÊǼüÅÌ£¬cout¶ÔÏóµÄĬÈÏÊä³öÉ豸ÊÇÏÔʾÆ÷ÆÁÄ»¡£
¡¡¡¡ÄÇôÔÀíÉÏ£Ã++ÓÐÊÇÈçºÎÀûÓÃcin£¯cout¶ÔÏóÓë×óÒƺÍÓÒÒÆÔËËã·ûÖØÔØÀ´ÊµÏÖÊäÈëÊä³öµÄÄØ£¿
¡¡¡¡ÏÂÃæÎÒÃÇÒÔÊä³öΪÀý£¬ËµÃ÷ÆäʵÏÖÔÀí£º
¡¡¡¡coutÊÇostreamÀàµÄ¶ÔÏó£¬ÒòΪËüËùÖ¸ÏòµÄÊDZê×¼É豸£¨ÏÔʾÆ÷ÆÁÄ»£©£¬ËùÒÔËüÔÚiostreamÍ·ÎļþÖÐ×÷Ϊȫ¾Ö¶ÔÏó½øÐж¨Òå¡£
¡¡¡¡ostream cout(stdout);//ÆäĬÈÏÖ¸ÏòµÄCÖеıê×¼É豸Ãû£¬×÷ΪÆä¹¹Ô캯ÊýµÄ²ÎÊýʹÓá£
¡¡¡¡ÔÚiostream.hÍ·ÎļþÖУ¬ostreamÀà¶ÔӦÿ¸ö»ù±¾Êý¾ÝÀàÐͶ¼ÓÐÆäÓÑÔªº¯Êý¶Ô×óÒƲÙ×÷·û½øÐÐÁËÓÑÔªº¯ÊýµÄÖØÔØ¡£ ¡¡¡¡ostream& operator<<(ostream &temp,int source); ¡¡¡¡ostream& operator<<(ostream &temp,char *ps); ¡¡¡¡¡£¡£¡£¡£µÈµÈ
¡¡¡¡Ò»¾äÊä³öÓï¾ä£ºcout<<"www.cndev-lab.com"£»£¬ÊÂʵÉϵ÷ÓõľÍÊÇostream& operator<<(ostream &temp,char *ps);Õâ¸öÔËËã·ûÖØÔغ¯Êý£¬ÓÉÓÚ·µ»ØµÄÊÇÁ÷¶ÔÏóµÄÒýÓã¬ÒýÓÿÉÒÔ×÷Ϊ×óֵʹÓã¬ËùÒÔµ±³ÌÐòÖÐÓÐÀàËÆcout<<"www.cndev-lab.com"<<"ÖйúÈí¼þ¿ª·¢ÊµÑéÊÒ";ÕâÑùµÄÓï¾ä³öÏÖµÄʱºò£¬¾ÍÄܹ»¹¹³ÉÁ¬ÐøÊä³ö¡£
¡¡¡¡ÓÉÓÚiostream¿â²»¹âÖ§³Ö¶ÔÏóµÄÊäÈëÊä³ö£¬Í¬Ê±Ò²Ö§³ÖÎļþÁ÷µÄÊäÈëÊä³ö£¬ËùÒÔÔÚÏêϸ½²½â×óÒÆÓëÓÒÒÆÔËËã·ûÖØÔØֻǰ£¬ÎÒÃÇÓбØÒªÏȶÔÎļþµÄÊäÈëÊä³öÒÔ¼°ÊäÈëÊä³öµÄ¿ØÖÆ·ûÓÐËùÁ˽⡣
¡¡¡¡ºÍÎļþÓйØϵµÄÊäÈëÊä³öÀàÖ÷ÒªÔÚfstream.hÕâ¸öÍ·ÎļþÖỶ¨Ò壬ÔÚÕâ¸öÍ·ÎļþÖÐÖ÷Òª±»¶¨ÒåÁËÈý¸öÀ࣬ÓÉÕâÈý¸öÀà¿ØÖƶÔÎļþµÄ¸÷ÖÖÊäÈëÊä³ö²Ù×÷£¬ËûÃÇ·Ö±ðÊÇifstream¡¢ofstream¡¢fstream£¬ÆäÖÐfstreamÀàÊÇÓÉiostreamÀàÅÉÉú¶øÀ´£¬ËûÃÇÖ®¼äµÄ¼Ì³Ð¹Øϵ¼ûÏÂͼËùʾ¡£
¡¡¡¡ÓÉÓÚÎļþÉ豸²¢²»ÏñÏÔʾÆ÷ÆÁÄ»Óë¼üÅÌÄÇÑùÊDZê׼ĬÈÏÉ豸£¬ËùÒÔËüÔÚfstream.hÍ·ÎļþÖÐÊÇûÓÐÏñcoutÄÇÑùÔ¤Ïȶ¨ÒåµÄÈ«¾Ö¶ÔÏó£¬ËùÒÔÎÒÃDZØÐë×Ô¼º¶¨ÒåÒ»¸ö¸ÃÀàµÄ¶ÔÏó£¬ÎÒÃÇÒªÒÔÎļþ×÷ΪÉ豸ÏòÎļþÊä³öÐÅÏ¢(Ò²¾ÍÊÇÏòÎļþдÊý¾Ý)£¬ÄÇô¾ÍÓ¦¸ÃʹÓÃofstreamÀà¡£
¡¡¡¡ofstreamÀàµÄĬÈϹ¹Ô캯ÊýÔÐÎΪ£º
¡¡¡¡ofstream::ofstream(const char *filename,int mode = ios::out,int openprot = filebuf::openprot);
¡¡¡¡filename£º¡¡¡¡Òª´ò¿ªµÄÎļþÃû ¡¡¡¡mode£º¡¡¡¡¡¡¡¡Òª´ò¿ªÎļþµÄ·½Ê½ ¡¡¡¡prot£º¡¡¡¡¡¡¡¡´ò¿ªÎļþµÄÊôÐÔ
¡¡¡¡ÆäÖÐmodeºÍopenprotÕâÁ½¸ö²ÎÊýµÄ¿ÉÑ¡Ïî±í¼ûÏÂ±í£º
modeÊôÐÔ±í
¡¡¡¡ios::app£º¡¡¡¡¡¡ÒÔ×·¼ÓµÄ·½Ê½´ò¿ªÎļþ ¡¡¡¡ios::ate£º¡¡¡¡¡¡Îļþ´ò¿ªºó¶¨Î»µ½Îļþ⣬ios:app¾Í°üº¬ÓдËÊôÐÔ ¡¡¡¡ios::binary£º ¡¡ÒÔ¶þ½øÖÆ·½Ê½´ò¿ªÎļþ£¬È±Ê¡µÄ·½Ê½ÊÇÎı¾·½Ê½¡£Á½ÖÖ·½Ê½µÄÇø±ð¼ûÇ°ÎÄ ¡¡¡¡ios::in£º¡¡¡¡¡¡ ÎļþÒÔÊäÈ뷽ʽ´ò¿ª ¡¡¡¡ios::out£º¡¡¡¡¡¡ÎļþÒÔÊä³ö·½Ê½´ò¿ª ¡¡¡¡ios::trunc£º¡¡¡¡Èç¹ûÎļþ´æÔÚ£¬°ÑÎļþ³¤¶ÈÉèΪ0
¡¡¡¡¿ÉÒÔÓá°»ò¡±°ÑÒÔÉÏÊôÐÔÁ¬½ÓÆðÀ´£¬Èçios::out|ios::binary¡£
openprotÊôÐÔ±í:
¡¡¡¡0£ºÆÕͨÎļþ£¬´ò¿ª·ÃÎÊ ¡¡¡¡1£ºÖ»¶ÁÎļþ ¡¡¡¡2£ºÒþº¬Îļþ ¡¡¡¡4£ºÏµÍ³Îļþ
¡¡¡¡¿ÉÒÔÓá°»ò¡±»òÕß¡°+¡±°ÑÒÔÉÏÊôÐÔÁ¬½ÓÆðÀ´ £¬Èç3»ò1|2¾ÍÊÇÒÔÖ»¶ÁºÍÒþº¬ÊôÐÔ´ò¿ªÎļþ¡£
¡¡¡¡Ê¾Àý´úÂëÈçÏ£º
//³ÌÐò×÷Õß:¹ÜÄþ //Õ¾µã:www.cndev-lab.com //ËùÓиå¼þ¾ùÓаæȨ,ÈçҪתÔØ,ÇëÎñ±ØÖøÃû³ö´¦ºÍ×÷Õß #include <fstream> using namespace std; int main() { ofstream myfile("c:\\1.txt",ios::out|ios::trunc,0); myfile<<"ÖйúÈí¼þ¿ª·¢ÊµÑéÊÒ"<<endl<<"ÍøÖ·£º"<<"www.cndev-lab.com"; myfile.close() system("pause"); }
¡¡¡¡ÎļþʹÓÃÍêºó¿ÉÒÔʹÓÃclose³ÉÔ±º¯Êý¹Ø±ÕÎļþ¡£
¡¡¡¡ios::appΪ׷¼Óģʽ£¬ÔÚʹÓÃ×·¼ÓģʽµÄʱºòͬʱ½øÐÐÎļþ״̬µÄÅжÏÊÇÒ»¸ö±È½ÏºÃµÄÏ°¹ß¡£
¡¡¡¡Ê¾ÀýÈçÏ£º
//³ÌÐò×÷Õß:¹ÜÄþ //Õ¾µã:www.cndev-lab.com //ËùÓиå¼þ¾ùÓаæȨ,ÈçҪתÔØ,ÇëÎñ±ØÖøÃû³ö´¦ºÍ×÷Õß #include <iostream> #include <fstream> using namespace std; int main() { ofstream myfile("c:\\1.txt",ios::app,0); if(!myfile)//»òÕßд³Émyfile.fail() { cout<<"Îļþ´ò¿ªÊ§°Ü£¬Ä¿±êÎļþ״̬¿ÉÄÜΪֻ¶Á£¡"; system("pause"); exit(1); } myfile<<"ÖйúÈí¼þ¿ª·¢ÊµÑéÊÒ"<<endl<<"ÍøÖ·£º"<<"www.cndev-lab.com"<<endl; myfile.close(); }
¡¡¡¡ÔÚ¶¨ÒåifstreamºÍofstreamÀà¶ÔÏóµÄʱºò£¬ÎÒÃÇÒ²¿ÉÒÔ²»Ö¸¶¨Îļþ¡£ÒÔºó¿ÉÒÔͨ¹ý³ÉÔ±º¯Êýopen()ÏÔʽµÄ°ÑÒ»¸öÎļþÁ¬½Óµ½Ò»¸öÀà¶ÔÏóÉÏ¡£
¡¡¡¡ÀýÈ磺
//³ÌÐò×÷Õß:¹ÜÄþ //Õ¾µã:www.cndev-lab.com //ËùÓиå¼þ¾ùÓаæȨ,ÈçҪתÔØ,ÇëÎñ±ØÖøÃû³ö´¦ºÍ×÷Õß #include <iostream> #include <fstream> using namespace std; int main() { ofstream myfile; myfile.open("c:\\1.txt",ios::out|ios::app,0); if(!myfile)//»òÕßд³Émyfile.fail() { cout<<"Îļþ´´½¨Ê§°Ü,´ÅÅ̲»¿Éд»òÕßÎļþΪֻ¶Á!"; system("pause"); exit(1); } myfile<<"ÖйúÈí¼þ¿ª·¢ÊµÑéÊÒ"<<endl<<"ÍøÖ·£º"<<"www.cndev-lab.com"<<endl; myfile.close(); }
¡¡¡¡ÏÂÃæÎÒÃÇÀ´¿´Ò»ÏÂÊÇÈçºÎÀûÓÃifstreamÀà¶ÔÏ󣬽«ÎļþÖеÄÊý¾Ý¶ÁÈ¡³öÀ´£¬È»ºóÔÙÊä³öµ½±ê×¼É豸ÖеÄÀý×Ó¡£
¡¡¡¡´úÂëÈçÏ£º
//³ÌÐò×÷Õß:¹ÜÄþ //Õ¾µã:www.cndev-lab.com //ËùÓиå¼þ¾ùÓаæȨ,ÈçҪתÔØ,ÇëÎñ±ØÖøÃû³ö´¦ºÍ×÷Õß #include <iostream> #include <fstream> #include <string> using namespace std; int main() { ifstream myfile; myfile.open("c:\\1.txt",ios::in,0); if(!myfile) { cout<<"Îļþ¶Á´íÎó"; system("pause"); exit(1); } char ch; string content; while(myfile.get(ch)) { content+=ch; cout.put(ch);//cout<<ch;ÕâôдҲÊÇ¿ÉÒ﵀ } myfile.close(); cout<<content; system("pause"); }
¡¡¡¡ÉÏÀýÖУ¬ÎÒÃÇÀûÓóÉÔ±º¯Êýget()£¬ÖðÒ»µÄ¶ÁÈ¡ÎļþÖеÄÓÐЧ×Ö·û£¬ÔÙÀûÓÃput()³ÉÔ±º¯Êý£¬½«ÎļþÖеÄÊý¾Ýͨ¹ýÑ»·ÖðÒ»Êä³öµ½±ê×¼É豸(ÆÁÄ»)ÉÏ£¬get()³ÉÔ±º¯Êý»áÔÚÎļþ¶Áµ½Ä¬Î²µÄʱºò·µ»Ø¼ÙÖµ£¬ËùÒÔÎÒÃÇ¿ÉÒÔÀûÓÃËüµÄÕâ¸öÌØÐÔ×÷ΪwhileÑ»·µÄÖÕÖ¹Ìõ¼þ£¬ÎÒÃÇͬʱҲÔÚÉÏÀýÖÐÒýÈëÁËC++·ç¸ñµÄ×Ö·û´®ÀàÐÍstring£¬ÔÚÑ»·¶ÁÈ¡µÄʱºòÖðÒ»±£´æµ½contentÖУ¬ÒªÊ¹ÓÃstringÀàÐÍ£¬±ØÐë°üº¬string.hµÄÍ·Îļþ¡£
¡¡¡¡ÎÒÃÇÔÚ¼òµ¥½éÉܹýofstreamÀàºÍifstreamÀàºó£¬ÎÒÃÇÔÙÀ´¿´Ò»ÏÂfstreamÀ࣬fstreamÀàÊÇÓÉiostreamÅÉÉú¶øÀ´£¬fstreamÀà¶ÔÏó¿ÉÒÔͬ¶ÔÎļþ½øÐжÁд²Ù×÷¡£
¡¡¡¡Ê¾Àý´úÂëÈçÏ£º
//³ÌÐò×÷Õß:¹ÜÄþ //Õ¾µã:www.cndev-lab.com //ËùÓиå¼þ¾ùÓаæȨ,ÈçҪתÔØ,ÇëÎñ±ØÖøÃû³ö´¦ºÍ×÷Õß #include <iostream> #include <fstream> using namespace std; int main() { fstream myfile; myfile.open("c:\\1.txt",ios::out|ios::app,0); if(!myfile) { cout<<"Îļþд´íÎó,ÎļþÊôÐÔ¿ÉÄÜΪֻ¶Á!"<<endl; system("pause"); exit(1); } myfile<<"ÖйúÈí¼þ¿ª·¢ÊµÑéÊÒ"<<endl<<"ÍøÖ·£º"<<"www.cndev-lab.com"<<endl; myfile.close(); myfile.open("c:\\1.txt",ios::in,0); if(!myfile) { cout<<"Îļþ¶Á´íÎó,Îļþ¿ÉÄܶªÊ§!"<<endl; system("pause"); exit(1); } char ch; while(myfile.get(ch)) { cout.put(ch); } myfile.close(); system("pause"); }
¡¡¡¡ÓÉÓÚfstreamÀà¿ÉÒÔ¶ÔÎļþͬʱ½øÐжÁд²Ù×÷£¬ËùÒÔ¶ÔËüµÄ¶ÔÏó½øÐгõʼ»°µÄʱºòÒ»¶¨ÒªÏÔʽµÄÖ¸¶¨modeºÍopenprot²ÎÊý¡£
¡¡¡¡½ÓÏÂÀ´ÎÒÃÇÀ´Ñ§Ï°Ò»Ï´®Á÷ÀàµÄ»ù´¡ÖªÊ¶£¬Ê²Ã´½Ð´®Á÷Àࣿ ¡¡¡¡¼òµ¥µÄÀí½â¾ÍÊÇÄܹ»¿ØÖÆ×Ö·û´®ÀàÐͶÔÏó½øÐÐÊäÈëÊä³öµÄÀ࣬C++²»¹â¿ÉÒÔÖ§³ÖC++·ç¸ñµÄ×Ö·û´®Á÷¿ØÖÆ£¬»¹¿ÉÒÔÖ§³ÖC·ç¸ñµÄ×Ö·û´®Á÷¿ØÖÆ¡£
¡¡¡¡ÎÒÃÇÏÈ¿´¿´¿´C++ÊÇÈçºÎ¶ÔC·ç¸ñµÄ×Ö·û´®Á÷½øÐпØÖƵģ¬CÖеÄ×Ö·û´®ÆäʵҲ¾ÍÊÇ×Ö·ûÊý×飬×Ö·ûÊý×éÄÚµÄÊý¾ÝÔÚÄÚ´æÖеÄλÖõÄÅÅÁÐÊÇÁ¬ÐøµÄ£¬ÎÒÃÇͨ³£ÓÃchar str[size]»òÕßchar *strµÄ·½Ê½ÉùÃ÷´´½¨C·ç¸ñ×Ö·ûÊý×飬ΪÁËÄÜÈÃ×Ö·ûÊý×é×÷ΪÉ豸²¢ÌṩÊäÈëÊä³ö²Ù×÷£¬C++ÒýÈëÁËostrstream¡¢istrstream¡¢strstreamÕâÈý¸öÀ࣬ҪʹÓÃËûÃÇ´´½¨¶ÔÏó¾Í±ØÐë°üº¬strstream.hÍ·Îļþ¡£ ¡¡¡¡istrstreamÀàÓÃÓÚÖ´ÐÐC·ç¸ñµÄ´®Á÷µÄÊäÈë²Ù×÷£¬Ò²¾ÍÊÇÒÔ×Ö·û´®Êý×é×÷ΪÊäÈëÉ豸¡£ ¡¡¡¡ostrstreamÀàÓÃÓÚÖ´ÐÐC·ç¸ñµÄ´®Á÷µÄÊä³ö²Ù×÷£¬Ò²¾ÍÊÇÒ»×Ö·û´®Êý×é×÷ΪÊä³öÉ豸¡£ ¡¡¡¡strstreamÀàͬʱ¿ÉÒÔÖ§³ÖC·ç¸ñµÄ´®Á÷µÄÊäÈëÊä³ö²Ù×÷¡£
¡¡¡¡istrstreamÀàÊÇ´Óistream£¨ÊäÈëÁ÷ÀࣩºÍstrstreambase£¨×Ö·û´®Á÷»ùÀࣩÅÉÉú¶øÀ´£¬ostrstreamÊÇ´Óostream£¨Êä³öÁ÷ÀࣩºÍstrstreambase£¨×Ö·û´®Á÷»ùÀࣩÅÉÉú¶øÀ´£¬strstreamÔòÊÇ´Óiostream(ÊäÈëÊä³öÁ÷Àà)ºÍºÍstrstreambase£¨×Ö·û´®Á÷»ùÀࣩÅÉÉú¶øÀ´¡£
¡¡¡¡ËûÃǵļ̳йØϵÈçÏÂͼËùʾ:
¡¡¡¡´®Á÷ͬÑù²»ÊDZê×¼É豸£¬²»»áÓÐÔ¤Ïȶ¨ÒåºÃµÄÈ«¾Ö¶ÔÏó£¬ËùÒÔ²»ÄÜÖ±½Ó²Ù×÷£¬ÐèҪͨ¹ý¹¹Ô캯Êý´´½¨¶ÔÏó¡£
¡¡¡¡ÀàistrstreamµÄ¹¹Ô캯ÊýÔÐÎÈçÏ£º ¡¡¡¡istrstream::istrstream(const char *str,int size); ¡¡¡¡²ÎÊý1±íʾ×Ö·û´®Êý×é,¶ø²ÎÊý2±íʾÊý×é´óС£¬µ±sizeΪ0ʱ£¬±íʾistrstreamÀà¶ÔÏóÖ±½ÓÁ¬½Óµ½ÓÉstrËùÖ¸ÏòµÄÄÚ´æ¿Õ¼ä²¢ÒÔ\0½áβµÄ×Ö·û´®¡£
¡¡¡¡ÏÂÃæµÄʾÀý´úÂë¾ÍÊÇÀûÓÃistrstreamÀà´´½¨Àà¶ÔÏó£¬Öƶ¨Á÷ÊäÈëÉ豸Ϊ×Ö·û´®Êý×飬ͨ¹ýËüÏòÒ»¸ö×Ö·ûÐͶÔÏóÊäÈëÊý¾Ý¡£
¡¡¡¡´úÂëÈçÏ£º
//³ÌÐò×÷Õß:¹ÜÄþ //Õ¾µã:www.cndev-lab.com //ËùÓиå¼þ¾ùÓаæȨ,ÈçҪתÔØ,ÇëÎñ±ØÖøÃû³ö´¦ºÍ×÷Õß #include <iostream> #include <strstream> using namespace std; int main() { char *name = "www.cndev-lab.com"; int arraysize = strlen(name)+1; istrstream is(name,arraysize); char temp; is>>temp; cout<<temp; system("pause"); }
¡¡¡¡ÀàostrstreamÓÃÓÚÖ´Ðд®Á÷µÄÊä³ö£¬ËüµÄ¹¹Ô캯ÊýÈçÏÂËùʾ£º
¡¡¡¡ostrstream::ostrstream(char *_Ptr,int streamsize,int Mode = ios::out);
¡¡¡¡µÚÒ»¸ö²ÎÊýÊÇ×Ö·ûÊý×飬µÚ¶þ¸öÊÇ˵Ã÷Êý×éµÄ´óС£¬µÚÈý¸ö²ÎÊýÊÇÖ¸´ò¿ª·½Ê½¡£
¡¡¡¡ÎÒÃÇÀ´Ò»¸öʾÀý´úÂ룺
#include <iostream> #include <strstream> using namespace std; int main() { int arraysize=1; char *pbuffer=new char[arraysize]; ostrstream ostr(pbuffer,arraysize,ios::out); ostr<<arraysize<<ends;//ʹÓÃostrstreamÊä³öµ½Á÷¶ÔÏóµÄʱºò,ÒªÓÃends½áÊø×Ö·û´® cout<<pbuffer; delete[] pbuffer; system("pause"); }
¡¡¡¡ÉÏÃæµÄ´úÂëÖУ¬ÎÒÃÇ´´½¨Ò»¸öc·ç¸ñµÄ´®Á÷Êä³ö¶ÔÏóostr£¬ÎÒÃǽ«arraysizeÄÚµÄÊý¾Ý³É¹¦µÄÒÔ×Ö·û´®µÄÐÎʽÊä³öµ½ÁËostr¶ÔÏóËùÖ¸ÏòµÄpbufferÖ¸ÕëµÄ¶Ñ¿Õ¼äÖУ¬pbufferÒ²ÕýÊÇÎÒÃÇÒªÊä³öµÄ×Ö·û´®Êý×飬ÔÚ½áβҪʹÓÃends½áÊø×Ö·û´®£¬Èç¹û²»Õâô×ö¾ÍÓÐÒç³öµÄΣÏÕ¡£ |