锘??xml version="1.0" encoding="utf-8" standalone="yes"?>香蕉久久久久久狠狠色,无码精品久久一区二区三区,欧美粉嫩小泬久久久久久久 http://m.shnenglu.com/yishanhante/articles/17119.htmljayjayMon, 01 Jan 2007 05:23:00 GMThttp://m.shnenglu.com/yishanhante/articles/17119.htmlhttp://m.shnenglu.com/yishanhante/comments/17119.htmlhttp://m.shnenglu.com/yishanhante/articles/17119.html#Feedback0http://m.shnenglu.com/yishanhante/comments/commentRss/17119.htmlhttp://m.shnenglu.com/yishanhante/services/trackbacks/17119.html鍦–++涓紝鏈変竴涓猻tream榪欎釜綾伙紝鎵鏈夌殑I/O閮戒互榪欎釜鈥滄祦鈥濈被涓哄熀紜鐨勶紝鍖呮嫭鎴戜滑瑕佽璇嗙殑鏂囦歡I/O錛宻tream榪欎釜綾繪湁涓や釜閲嶈鐨勮繍綆楃錛?

1銆佹彃鍏ュ櫒(<<)
鍚戞祦杈撳嚭鏁版嵁銆傛瘮濡傝緋葷粺鏈変竴涓粯璁ょ殑鏍囧噯杈撳嚭嫻?cout)錛屼竴鑸儏鍐典笅灝辨槸鎸囩殑鏄劇ず鍣紝鎵浠ワ紝cout<<"Write Stdout"<<'n';灝辮〃紺烘妸瀛楃涓?Write Stdout"鍜屾崲琛屽瓧絎?'n')杈撳嚭鍒版爣鍑嗚緭鍑烘祦銆?

2銆佹瀽鍙栧櫒(>>)
浠庢祦涓緭鍏ユ暟鎹傛瘮濡傝緋葷粺鏈変竴涓粯璁ょ殑鏍囧噯杈撳叆嫻?cin)錛屼竴鑸儏鍐典笅灝辨槸鎸囩殑閿洏錛屾墍浠ワ紝cin>>x;灝辮〃紺轟粠鏍囧噯杈撳叆嫻佷腑璇誨彇涓涓寚瀹氱被鍨?鍗沖彉閲弜鐨勭被鍨?鐨勬暟鎹?

鍦–++涓紝瀵規(guī)枃浠剁殑鎿嶄綔鏄氳繃stream鐨勫瓙綾籪stream(file stream)鏉ュ疄鐜扮殑錛屾墍浠ワ紝瑕佺敤榪欑鏂瑰紡鎿嶄綔鏂囦歡錛屽氨蹇呴』鍔犲叆澶存枃浠秄stream.h銆備笅闈㈠氨鎶婃綾葷殑鏂囦歡鎿嶄綔榪囩▼涓涓閬撴潵銆?

涓銆佹墦寮鏂囦歡
鍦╢stream綾諱腑錛屾湁涓涓垚鍛樺嚱鏁皁pen()錛屽氨鏄敤鏉ユ墦寮鏂囦歡鐨勶紝鍏跺師鍨嬫槸錛?

void open(const char* filename,int mode,int access);

鍙傛暟錛?

filename錛?瑕佹墦寮鐨勬枃浠跺悕
mode錛?瑕佹墦寮鏂囦歡鐨勬柟寮?
access錛?鎵撳紑鏂囦歡鐨勫睘鎬?
鎵撳紑鏂囦歡鐨勬柟寮忓湪綾籭os(鏄墍鏈夋祦寮廔/O綾葷殑鍩虹被)涓畾涔夛紝甯哥敤鐨勫煎涓嬶細

ios::app錛?浠ヨ拷鍔犵殑鏂瑰紡鎵撳紑鏂囦歡
ios::ate錛?鏂囦歡鎵撳紑鍚庡畾浣嶅埌鏂囦歡灝撅紝ios:app灝卞寘鍚湁姝ゅ睘鎬?
ios::binary錛?浠ヤ簩榪涘埗鏂瑰紡鎵撳紑鏂囦歡錛岀己鐪佺殑鏂瑰紡鏄枃鏈柟寮忋備袱縐嶆柟寮忕殑鍖哄埆瑙佸墠鏂?
ios::in錛?鏂囦歡浠ヨ緭鍏ユ柟寮忔墦寮
ios::out錛?鏂囦歡浠ヨ緭鍑烘柟寮忔墦寮
ios::nocreate錛?涓嶅緩绔嬫枃浠訛紝鎵浠ユ枃浠朵笉瀛樺湪鏃舵墦寮澶辮觸
ios::noreplace錛氫笉瑕嗙洊鏂囦歡錛屾墍浠ユ墦寮鏂囦歡鏃跺鏋滄枃浠跺瓨鍦ㄥけ璐?
ios::trunc錛?濡傛灉鏂囦歡瀛樺湪錛屾妸鏂囦歡闀垮害璁句負0
鍙互鐢ㄢ滄垨鈥濇妸浠ヤ笂灞炴ц繛鎺ヨ搗鏉ワ紝濡俰os::out|ios::binary

鎵撳紑鏂囦歡鐨勫睘鎬у彇鍊兼槸錛?

0錛氭櫘閫氭枃浠訛紝鎵撳紑璁塊棶
1錛氬彧璇繪枃浠?
2錛氶殣鍚枃浠?
4錛氱郴緇熸枃浠?
鍙互鐢ㄢ滄垨鈥濇垨鑰呪?鈥濇妸浠ヤ笂灞炴ц繛鎺ヨ搗鏉?錛屽3鎴?|2灝辨槸浠ュ彧璇誨拰闅愬惈灞炴ф墦寮鏂囦歡銆?

渚嬪錛氫互浜岃繘鍒惰緭鍏ユ柟寮忔墦寮鏂囦歡c:config.sys

fstream file1;
file1.open("c:config.sys",ios::binary|ios::in,0);

濡傛灉open鍑芥暟鍙湁鏂囦歡鍚嶄竴涓弬鏁幫紝鍒欐槸浠ヨ/鍐欐櫘閫氭枃浠舵墦寮錛屽嵆錛?

file1.open("c:config.sys");<=>file1.open("c:config.sys",ios::in|ios::out,0);

鍙﹀錛宖stream榪樻湁鍜宱pen()涓鏍風殑鏋勯犲嚱鏁幫紝瀵逛簬涓婁緥錛屽湪瀹氫箟鐨勬椂渚氨鍙互鎵撳紑鏂囦歡浜嗭細

fstream file1("c:config.sys");

鐗瑰埆鎻愬嚭鐨勬槸錛宖stream鏈変袱涓瓙綾伙細ifstream(input file stream)鍜宱fstream(outpu file stream)錛宨fstream榛樿浠ヨ緭鍏ユ柟寮忔墦寮鏂囦歡錛岃宱fstream榛樿浠ヨ緭鍑烘柟寮忔墦寮鏂囦歡銆?

ifstream file2("c:pdos.def");//浠ヨ緭鍏ユ柟寮忔墦寮鏂囦歡
ofstream file3("c:x.123");//浠ヨ緭鍑烘柟寮忔墦寮鏂囦歡

鎵浠ワ紝鍦ㄥ疄闄呭簲鐢ㄤ腑錛屾牴鎹渶瑕佺殑涓嶅悓錛岄夋嫨涓嶅悓鐨勭被鏉ュ畾涔夛細濡傛灉鎯充互杈撳叆鏂瑰紡鎵撳紑錛屽氨鐢╥fstream鏉ュ畾涔夛紱濡傛灉鎯充互杈撳嚭鏂瑰紡鎵撳紑錛屽氨鐢╫fstream鏉ュ畾涔夛紱濡傛灉鎯充互杈撳叆/杈撳嚭鏂瑰紡鏉ユ墦寮錛屽氨鐢╢stream鏉ュ畾涔夈?

浜屻佸叧闂枃浠?
鎵撳紑鐨勬枃浠朵嬌鐢ㄥ畬鎴愬悗涓瀹氳鍏抽棴錛宖stream鎻愪緵浜嗘垚鍛樺嚱鏁癱lose()鏉ュ畬鎴愭鎿嶄綔錛屽錛歠ile1.close();灝辨妸file1鐩歌繛鐨勬枃浠跺叧闂?

涓夈佽鍐欐枃浠?
璇誨啓鏂囦歡鍒嗕負鏂囨湰鏂囦歡鍜屼簩榪涘埗鏂囦歡鐨勮鍙栵紝瀵逛簬鏂囨湰鏂囦歡鐨勮鍙栨瘮杈冪畝鍗曪紝鐢ㄦ彃鍏ュ櫒鍜屾瀽鍙栧櫒灝卞彲浠ヤ簡錛涜屽浜庝簩榪涘埗鐨勮鍙栧氨瑕佸鏉備簺錛屼笅瑕佸氨璇︾粏鐨勪粙緇嶈繖涓ょ鏂瑰紡

1銆佹枃鏈枃浠剁殑璇誨啓
鏂囨湰鏂囦歡鐨勮鍐欏緢綆鍗曪細鐢ㄦ彃鍏ュ櫒(<<)鍚戞枃浠惰緭鍑猴紱鐢ㄦ瀽鍙栧櫒(>>)浠庢枃浠惰緭鍏ャ傚亣璁緁ile1鏄互杈撳叆鏂瑰紡鎵撳紑錛宖ile2浠ヨ緭鍑烘墦寮銆傜ず渚嬪涓嬶細

file2<<"I Love You";//鍚戞枃浠跺啓鍏ュ瓧絎︿覆"I Love You"
int i;
file1>>i;//浠庢枃浠惰緭鍏ヤ竴涓暣鏁板箋?

榪欑鏂瑰紡榪樻湁涓縐嶇畝鍗曠殑鏍煎紡鍖栬兘鍔涳紝姣斿鍙互鎸囧畾杈撳嚭涓?6榪涘埗絳夌瓑錛屽叿浣撶殑鏍煎紡鏈変互涓嬩竴浜?

鎿嶇旱絎?鍔熻兘 杈撳叆/杈撳嚭
dec 鏍煎紡鍖栦負鍗佽繘鍒舵暟鍊兼暟鎹?杈撳叆鍜岃緭鍑?
endl 杈撳嚭涓涓崲琛岀騫跺埛鏂版嫻?杈撳嚭
ends 杈撳嚭涓涓┖瀛楃 杈撳嚭
hex 鏍煎紡鍖栦負鍗佸叚榪涘埗鏁板兼暟鎹?杈撳叆鍜岃緭鍑?
oct 鏍煎紡鍖栦負鍏繘鍒舵暟鍊兼暟鎹?杈撳叆鍜岃緭鍑?
setpxecision(int p) 璁劇疆嫻偣鏁扮殑綺懼害浣嶆暟 杈撳嚭

姣斿瑕佹妸123褰撲綔鍗佸叚榪涘埗杈撳嚭錛歠ile1<<hex<<123;瑕佹妸3.1415926浠?浣嶇簿搴﹁緭鍑猴細file1<<setpxecision(5)<<3.1415926銆?

2銆佷簩榪涘埗鏂囦歡鐨勮鍐?
鈶爌ut()
put()鍑芥暟鍚戞祦鍐欏叆涓涓瓧絎︼紝鍏跺師鍨嬫槸ofstream &put(char ch)錛屼嬌鐢ㄤ篃姣旇緝綆鍗曪紝濡俧ile1.put('c');灝辨槸鍚戞祦鍐欎竴涓瓧絎?c'銆?

鈶et()
get()鍑芥暟姣旇緝鐏墊椿錛屾湁3縐嶅父鐢ㄧ殑閲嶈澆褰㈠紡錛?

涓縐嶅氨鏄拰put()瀵瑰簲鐨勫艦寮忥細ifstream &get(char &ch);鍔熻兘鏄粠嫻佷腑璇誨彇涓涓瓧絎︼紝緇撴灉淇濆瓨鍦ㄥ紩鐢╟h涓紝濡傛灉鍒版枃浠跺熬錛岃繑鍥炵┖瀛楃銆傚file2.get(x);琛ㄧず浠庢枃浠朵腑璇誨彇涓涓瓧絎︼紝騫舵妸璇誨彇鐨勫瓧絎︿繚瀛樺湪x涓?

鍙︿竴縐嶉噸杞藉艦寮忕殑鍘熷瀷鏄細 int get();榪欑褰㈠紡鏄粠嫻佷腑榪斿洖涓涓瓧絎︼紝濡傛灉鍒拌揪鏂囦歡灝撅紝榪斿洖EOF錛屽x=file2.get();鍜屼笂渚嬪姛鑳芥槸涓鏍風殑銆?

榪樻湁涓縐嶅艦寮忕殑鍘熷瀷鏄細ifstream &get(char *buf,int num,char delim='n')錛涜繖縐嶅艦寮忔妸瀛楃璇誨叆鐢?buf 鎸囧悜鐨勬暟緇勶紝鐩村埌璇誨叆浜?num 涓瓧絎︽垨閬囧埌浜嗙敱 delim 鎸囧畾鐨勫瓧絎︼紝濡傛灉娌′嬌鐢?delim 榪欎釜鍙傛暟錛屽皢浣跨敤緙虹渷鍊兼崲琛岀'n'銆備緥濡傦細

file2.get(str1,127,'A');//浠庢枃浠朵腑璇誨彇瀛楃鍒板瓧絎︿覆str1錛屽綋閬囧埌瀛楃'A'鎴栬鍙栦簡127涓瓧絎︽椂緇堟銆?

鈶㈣鍐欐暟鎹潡
瑕佽鍐欎簩榪涘埗鏁版嵁鍧楋紝浣跨敤鎴愬憳鍑芥暟read()鍜寃rite()鎴愬憳鍑芥暟錛屽畠浠師鍨嬪涓嬶細

read(unsigned char *buf,int num);
write(const unsigned char *buf,int num);

read()浠庢枃浠朵腑璇誨彇 num 涓瓧絎﹀埌 buf 鎸囧悜鐨勭紦瀛樹腑錛屽鏋滃湪榪樻湭璇誨叆 num 涓瓧絎︽椂灝卞埌浜嗘枃浠跺熬錛屽彲浠ョ敤鎴愬憳鍑芥暟 int gcount();鏉ュ彇寰楀疄闄呰鍙栫殑瀛楃鏁幫紱鑰?write() 浠巄uf 鎸囧悜鐨勭紦瀛樺啓 num 涓瓧絎﹀埌鏂囦歡涓紝鍊煎緱娉ㄦ剰鐨勬槸緙撳瓨鐨勭被鍨嬫槸 unsigned char *錛屾湁鏃跺彲鑳介渶瑕佺被鍨嬭漿鎹€?

渚嬶細

unsigned char str1[]="I Love You";
int n[5];
ifstream in("xxx.xxx");
ofstream out("yyy.yyy");
out.write(str1,strlen(str1));//鎶婂瓧絎︿覆str1鍏ㄩ儴鍐欏埌yyy.yyy涓?
in.read((unsigned char*)n,sizeof(n));//浠巟xx.xxx涓鍙栨寚瀹氫釜鏁存暟錛屾敞鎰忕被鍨嬭漿鎹?
in.close();out.close();

鍥涖佹嫻婨OF
鎴愬憳鍑芥暟eof()鐢ㄦ潵媯嫻嬫槸鍚﹀埌杈炬枃浠跺熬錛屽鏋滃埌杈炬枃浠跺熬榪斿洖闈?鍊鹼紝鍚﹀垯榪斿洖0銆傚師鍨嬫槸int eof();

渚嬶細 if(in.eof())ShowMessage("宸茬粡鍒拌揪鏂囦歡灝撅紒");

浜斻佹枃浠跺畾浣?
鍜孋鐨勬枃浠舵搷浣滄柟寮忎笉鍚岀殑鏄紝C++ I/O緋葷粺綆$悊涓や釜涓庝竴涓枃浠剁浉鑱旂郴鐨勬寚閽堛備竴涓槸璇繪寚閽堬紝瀹冭鏄庤緭鍏ユ搷浣滃湪鏂囦歡涓殑浣嶇疆錛涘彟涓涓槸鍐欐寚閽堬紝瀹冧笅嬈″啓鎿嶄綔鐨勪綅緗傛瘡嬈℃墽琛岃緭鍏ユ垨杈撳嚭鏃訛紝鐩稿簲鐨勬寚閽堣嚜鍔ㄥ彉鍖栥傛墍浠ワ紝C++鐨勬枃浠跺畾浣嶅垎涓鴻浣嶇疆鍜屽啓浣嶇疆鐨勫畾浣嶏紝瀵瑰簲鐨勬垚鍛樺嚱鏁版槸 seekg()鍜?seekp()錛宻eekg()鏄緗浣嶇疆錛宻eekp鏄緗啓浣嶇疆銆傚畠浠渶閫氱敤鐨勫艦寮忓涓嬶細

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錛?鏂囦歡緇撳熬
榪欎袱涓嚱鏁頒竴鑸敤浜庝簩榪涘埗鏂囦歡錛屽洜涓烘枃鏈枃浠朵細鍥犱負緋葷粺瀵瑰瓧絎︾殑瑙i噴鑰屽彲鑳戒笌棰勬兂鐨勫間笉鍚屻?

渚嬶細

file1.seekg(1234,ios::cur);//鎶婃枃浠剁殑璇繪寚閽堜粠褰撳墠浣嶇疆鍚戝悗縐?234涓瓧鑺?
file2.seekp(1234,ios::beg);//鎶婃枃浠剁殑鍐欐寚閽堜粠鏂囦歡寮澶村悜鍚庣Щ1234涓瓧鑺?

濡傛灉vc緙栫▼鐨勮瘽鏈濂戒嬌鐢–File綾葷瓑鏇村姞鏂逛究浜庢枃浠舵搷浣?br />



jay 2007-01-01 13:23 鍙戣〃璇勮
]]>
鐢–++榪涜綆鍗曠殑鏂囦歡I/O鎿嶄綔[杞琞http://m.shnenglu.com/yishanhante/articles/17118.htmljayjayMon, 01 Jan 2007 05:20:00 GMThttp://m.shnenglu.com/yishanhante/articles/17118.htmlhttp://m.shnenglu.com/yishanhante/comments/17118.htmlhttp://m.shnenglu.com/yishanhante/articles/17118.html#Feedback0http://m.shnenglu.com/yishanhante/comments/commentRss/17118.htmlhttp://m.shnenglu.com/yishanhante/services/trackbacks/17118.html 鍘熸枃鍑哄錛歋imple File I/O Using C++

搴忚
銆銆鎴戞浘鍙戣〃榪囨枃浠惰緭鍏ヨ緭鍑虹殑鏂囩珷錛岀幇鍦ㄨ寰楁湁蹇呰鍐嶅啓涓鐐廣傛枃浠?I/O 鍦–++涓瘮鐑よ泲緋曠畝鍗曞浜嗐?鍦ㄨ繖綃囨枃绔犻噷錛屾垜浼氳緇嗚В閲夾SCII鍜屼簩榪涘埗鏂囦歡鐨勮緭鍏ヨ緭鍑虹殑姣忎釜緇嗚妭錛屽煎緱娉ㄦ剰鐨勬槸錛屾墍鏈夎繖浜涢兘鏄敤C++瀹屾垚鐨勩?

涓銆丄SCII 杈撳嚭
銆銆涓轟簡浣跨敤涓嬮潰鐨勬柟娉? 浣犲繀欏誨寘鍚ご鏂囦歡<fstream.h>(璇戣呮敞錛氬湪鏍囧噯C++涓紝宸茬粡浣跨敤<fstream>鍙栦唬<fstream.h>錛屾墍鏈夌殑C++鏍囧噯澶存枃浠墮兘鏄棤鍚庣紑鐨勩?銆傝繖鏄?<iostream.h>鐨勪竴涓墿灞曢泦, 鎻愪緵鏈夌紦鍐茬殑鏂囦歡杈撳叆杈撳嚭鎿嶄綔. 浜嬪疄涓? <iostream.h> 宸茬粡琚?lt;fstream.h>鍖呭惈浜? 鎵浠ヤ綘涓嶅繀鍖呭惈鎵鏈夎繖涓や釜鏂囦歡, 濡傛灉浣犳兂鏄懼紡鍖呭惈浠栦滑錛岄偅闅忎究浣犮傛垜浠粠鏂囦歡鎿嶄綔綾葷殑璁捐寮濮? 鎴戜細璁茶В濡備綍榪涜ASCII I/O鎿嶄綔銆?濡傛灉浣犵寽鏄?fstream," 鎭枩浣犵瓟瀵逛簡錛?浣嗚繖綃囨枃绔犱粙緇嶇殑鏂規(guī)硶,鎴戜滑鍒嗗埆浣跨敤"ifstream"?鍜?"ofstream" 鏉ヤ綔杈撳叆杈撳嚭銆?br />濡傛灉浣犵敤榪囨爣鍑嗘帶鍒跺彴嫻?cin"?鍜?"cout," 閭g幇鍦ㄧ殑浜嬫儏瀵逛綘鏉ヨ寰堢畝鍗曘?鎴戜滑鐜板湪寮濮嬭杈撳嚭閮ㄥ垎錛岄鍏堝0鏄庝竴涓被瀵硅薄銆俹fstream fout;
榪欏氨鍙互浜嗭紝涓嶈繃浣犺鎵撳紑涓涓枃浠剁殑璇? 蹇呴』鍍忚繖鏍瘋皟鐢╫fstream::open()銆?

fout.open("output.txt");
浣犱篃鍙互鎶婃枃浠跺悕浣滀負鏋勯犲弬鏁版潵鎵撳紑涓涓枃浠?

ofstream fout("output.txt");
銆銆榪欐槸鎴戜滑浣跨敤鐨勬柟娉? 鍥犱負榪欐牱鍒涘緩鍜屾墦寮涓涓枃浠剁湅璧鋒潵鏇寸畝鍗? 欏轟究璇翠竴鍙? 濡傛灉浣犺鎵撳紑鐨勬枃浠朵笉瀛樺湪錛屽畠浼氫負浣犲垱寤轟竴涓? 鎵浠ヤ笉鐢ㄦ媴蹇冩枃浠跺垱寤虹殑闂. 鐜板湪灝辮緭鍑哄埌鏂囦歡錛岀湅璧鋒潵鍜?cout"鐨勬搷浣滃緢鍍忋?瀵逛笉浜嗚В鎺у埗鍙拌緭鍑?cout"鐨勪漢, 榪欓噷鏈変釜渚嬪瓙銆?

int num = 150;
char name[] = "John Doe";
fout << "Here is a number: " << num << "\n";
fout << "Now here is a string: " << name << "\n";
銆銆鐜板湪淇濆瓨鏂囦歡錛屼綘蹇呴』鍏抽棴鏂囦歡錛屾垨鑰呭洖鍐欐枃浠剁紦鍐? 鏂囦歡鍏抽棴涔嬪悗灝變笉鑳藉啀鎿嶄綔浜? 鎵浠ュ彧鏈夊湪浣犱笉鍐嶆搷浣滆繖涓枃浠剁殑鏃跺欐墠璋冪敤瀹冿紝瀹冧細鑷姩淇濆瓨鏂囦歡銆?鍥炲啓緙撳啿鍖轟細鍦ㄤ繚鎸佹枃浠舵墦寮鐨勬儏鍐典笅淇濆瓨鏂囦歡, 鎵浠ュ彧瑕佹湁蹇呰灝變嬌鐢ㄥ畠銆?鍥炲啓鐪嬭搗鏉ュ儚鍙︿竴嬈¤緭鍑? 鐒跺悗璋冪敤鏂規(guī)硶鍏抽棴銆傚儚榪欐牱錛?

fout << flush; fout.close();
鐜板湪浣犵敤鏂囨湰緙栬緫鍣ㄦ墦寮鏂囦歡錛屽唴瀹圭湅璧鋒潵鏄繖鏍鳳細

Here is a number: 150 Now here is a string: John Doe
銆銆寰堢畝鍗曞惂! 鐜板湪緇х畫鏂囦歡杈撳叆, 闇瑕佷竴鐐規(guī)妧宸? 鎵浠ュ厛紜浣犲凡緇忔槑鐧戒簡嫻佹搷浣滐紝瀵?"<<" 鍜?>>" 姣旇緝鐔熸?zhèn)変? 鍥犱負浣犳帴涓嬫潵榪樿鐢ㄥ埌浠栦滑銆傜戶緇?

浜屻丄SCII 杈撳叆
銆銆杈撳叆鍜?cin" 嫻佸緢鍍? 鍜屽垰鍒氳璁虹殑杈撳嚭嫻佸緢鍍? 浣嗕綘瑕佽冭檻鍑犱歡浜嬫儏銆傚湪鎴戜滑寮濮嬪鏉傜殑鍐呭涔嬪墠, 鍏堢湅涓涓枃鏈細

12 GameDev 15.45 L This is really awesome!
涓轟簡鎵撳紑榪欎釜鏂囦歡錛屼綘蹇呴』鍒涘緩涓涓猧n-stream瀵硅薄,?鍍忚繖鏍楓?

ifstream fin("input.txt");
銆銆鐜板湪璇誨叆鍓嶅洓琛? 浣犺繕璁板緱鎬庝箞鐢?<<" 鎿嶄綔絎﹀線嫻侀噷鎻掑叆鍙橀噺鍜岀鍙峰惂錛熷ソ,?鍦?"<<" (鎻掑叆)?鎿嶄綔絎︿箣鍚庯紝鏄?>>" (鎻愬彇) 鎿嶄綔絎? 浣跨敤鏂規(guī)硶鏄竴鏍風殑. 鐪嬭繖涓唬鐮佺墖孌?

int number;
float real;
char letter, word[8];
fin >> number; fin >> word; fin >> real; fin >> letter;
涔熷彲浠ユ妸榪欏洓琛岃鍙栨枃浠剁殑浠g爜鍐欎負鏇寸畝鍗曠殑涓琛屻?

fin >> number >> word >> real >> letter;
銆銆瀹冩槸濡備綍榪愪綔鐨勫憿? 鏂囦歡鐨勬瘡涓┖鐧戒箣鍚? ">>" 鎿嶄綔絎︿細鍋滄璇誨彇鍐呭, 鐩村埌閬囧埌鍙︿竴涓?gt;>鎿嶄綔絎? 鍥犱負鎴戜滑璇誨彇鐨勬瘡涓琛岄兘琚崲琛岀鍒嗗壊寮(鏄┖鐧藉瓧絎?, ">>" 鎿嶄綔絎﹀彧鎶婅繖涓琛岀殑鍐呭璇誨叆鍙橀噺銆傝繖灝辨槸榪欎釜浠g爜涔熻兘姝e父宸ヤ綔鐨勫師鍥犮備絾鏄紝鍙埆蹇樹簡鏂囦歡鐨勬渶鍚庝竴琛屻?

This is really awesome!
銆銆濡傛灉浣犳兂鎶婃暣琛岃鍏ヤ竴涓猚har鏁扮粍, 鎴戜滑娌″姙娉曠敤">>"?鎿嶄綔絎︼紝鍥犱負姣忎釜鍗曡瘝涔嬮棿鐨勭┖鏍鹼紙絀虹櫧瀛楃錛変細涓鏂囦歡鐨勮鍙栥備負浜嗛獙璇侊細

char sentence[101]; fin >> sentence;
銆銆鎴戜滑鎯沖寘鍚暣涓彞瀛? "This is really awesome!" 浣嗘槸鍥犱負絀虹櫧, 鐜板湪瀹冨彧鍖呭惈浜?This". 寰堟槑鏄? 鑲畾鏈夎鍙栨暣琛岀殑鏂規(guī)硶, 瀹冨氨鏄痝etline()銆傝繖灝辨槸鎴戜滑瑕佸仛鐨勩?

fin.getline(sentence, 100);
銆銆榪欐槸鍑芥暟鍙傛暟. 絎竴涓弬鏁版樉鐒舵槸鐢ㄦ潵鎺ュ彈鐨刢har鏁扮粍. 絎簩涓弬鏁版槸鍦ㄩ亣鍒版崲琛岀涔嬪墠錛屾暟緇勫厑璁告帴鍙楃殑鏈澶у厓绱犳暟閲? 鐜板湪鎴戜滑寰楀埌浜嗘兂瑕佺殑緇撴灉錛氣淭his is really awesome!鈥濄?br />浣犲簲璇ュ凡緇忕煡閬撳浣曡鍙栧拰鍐欏叆ASCII鏂囦歡浜嗐備絾鎴戜滑榪樹笉鑳界艦浼戯紝鍥犱負浜岃繘鍒舵枃浠惰繕鍦ㄧ瓑鐫鎴戜滑銆?

涓夈佷簩榪涘埗 杈撳叆杈撳嚭
銆銆浜岃繘鍒舵枃浠朵細澶嶆潅涓鐐? 浣嗚繕鏄緢綆鍗曠殑銆?棣栧厛浣犺娉ㄦ剰鎴戜滑涓嶅啀浣跨敤鎻掑叆鍜屾彁鍙栨搷浣滅(璇戣呮敞錛?lt;< 鍜?>> 鎿嶄綔絎?. 浣犲彲浠ヨ繖涔堝仛錛屼絾瀹冧笉浼氱敤浜岃繘鍒舵柟寮忚鍐欍備綘蹇呴』浣跨敤read() 鍜寃rite() 鏂規(guī)硶璇誨彇鍜屽啓鍏ヤ簩榪涘埗鏂囦歡. 鍒涘緩涓涓簩榪涘埗鏂囦歡, 鐪嬩笅涓琛屻?

ofstream fout("file.dat", ios::binary);
銆銆榪欎細浠ヤ簩榪涘埗鏂瑰紡鎵撳紑鏂囦歡, 鑰屼笉鏄粯璁ょ殑ASCII妯″紡銆傞鍏堜粠鍐欏叆鏂囦歡寮濮嬨傚嚱鏁皐rite() 鏈変袱涓弬鏁般?絎竴涓槸鎸囧悜瀵硅薄鐨刢har綾誨瀷鐨勬寚閽? 絎簩涓槸瀵硅薄鐨勫ぇ灝忥紙璇戣呮敞錛氬瓧鑺傛暟錛夈?涓轟簡璇存槑錛岀湅渚嬪瓙銆?

int number = 30; fout.write((char *)(&number), sizeof(number));
銆銆絎竴涓弬鏁板啓鍋?(char *)(&number)". 榪欐槸鎶婁竴涓暣鍨嬪彉閲忚漿涓篶har *鎸囬拡銆傚鏋滀綘涓嶇悊瑙o紝鍙互绔嬪埢緲婚槄C++鐨勪功綾嶏紝濡傛灉鏈夊繀瑕佺殑璇濄傜浜屼釜鍙傛暟鍐欎綔"sizeof(number)". sizeof() 榪斿洖瀵硅薄澶у皬鐨勫瓧鑺傛暟. 灝辨槸榪欐牱!
浜岃繘鍒舵枃浠舵渶濂界殑鍦版柟鏄彲浠ュ湪涓琛屾妸涓涓粨鏋勫啓鍏ユ枃浠躲?濡傛灉璇達紝浣犵殑緇撴瀯鏈?2涓笉鍚岀殑鎴愬憳銆?鐢ˋSCII?鏂囦歡錛屼綘涓嶅緱涓嶆瘡嬈′竴鏉$殑鍐欏叆鎵鏈夋垚鍛樸?浣嗕簩榪涘埗鏂囦歡鏇夸綘鍋氬ソ浜嗐?鐪嬭繖涓?

struct OBJECT { int number; char letter; } obj;
obj.number = 15;
obj.letter = 鈥楳鈥?
fout.write((char *)(&obj), sizeof(obj));
銆銆榪欐牱灝卞啓鍏ヤ簡鏁翠釜緇撴瀯! 鎺ヤ笅鏉ユ槸杈撳叆. 杈撳叆涔熷緢綆鍗曪紝鍥犱負read()?鍑芥暟鐨勫弬鏁板拰 write()鏄畬鍏ㄤ竴鏍風殑, 浣跨敤鏂規(guī)硶涔熺浉鍚屻?

ifstream fin("file.dat", ios::binary); fin.read((char *)(&obj), sizeof(obj));
銆銆鎴戜笉澶氳В閲婄敤娉? 鍥犱負瀹冨拰write()鏄畬鍏ㄧ浉鍚岀殑銆備簩榪涘埗鏂囦歡姣擜SCII鏂囦歡綆鍗? 浣嗘湁涓己鐐規(guī)槸鏃犳硶鐢ㄦ枃鏈紪杈戝櫒緙栬緫銆?鎺ョ潃, 鎴戣В閲婁竴涓媔fstream 鍜宱fstream 瀵硅薄鐨勫叾浠栦竴浜涙柟娉曚綔涓虹粨鏉?

鍥涖佹洿澶氭柟娉?br />銆銆鎴戝凡緇忚В閲婁簡ASCII鏂囦歡鍜屼簩榪涘埗鏂囦歡, 榪欓噷鏄竴浜涙病鏈夋彁鍙婄殑搴曞眰鏂規(guī)硶銆?

媯鏌ユ枃浠?br />浣犲凡緇忓浼氫簡open() 鍜宑lose() 鏂規(guī)硶, 涓嶈繃榪欓噷榪樻湁鍏跺畠浣犲彲鑳界敤鍒扮殑鏂規(guī)硶銆?br />鏂規(guī)硶good() 榪斿洖涓涓竷?yōu)當鍊鹼紝琛ㄧず鏂囦歡鎵撳紑鏄惁姝g‘銆?br />綾諱技鐨勶紝bad() 榪斿洖涓涓竷?yōu)當鍊艱〃紺烘枃浠舵墦寮鏄惁閿欒銆?濡傛灉鍑洪敊錛屽氨涓嶈緇х畫榪涗竴姝ョ殑鎿嶄綔浜嗐?br />鏈鍚庝竴涓鏌ョ殑鏂規(guī)硶鏄痜ail(), 鍜宐ad()鏈夌偣鐩鎬技, 浣嗘病閭d箞涓ラ噸銆?

璇繪枃浠?br />鏂規(guī)硶get() 姣忔榪斿洖涓涓瓧絎︺?br />鏂規(guī)硶ignore(int,char) 璺寵繃涓瀹氭暟閲忕殑鏌愪釜瀛楃, 浣嗕綘蹇呴』浼犵粰瀹冧袱涓弬鏁般傜涓涓槸闇瑕佽煩榪囩殑瀛楃鏁般?絎簩涓槸涓涓瓧絎? 褰撻亣鍒扮殑鏃跺欏氨浼氬仠姝€?渚嬪瓙,

fin.ignore(100, 鈥榎n鈥?;
浼氳煩榪?00涓瓧絎︼紝鎴栬呬笉瓚?00鐨勬椂鍊欙紝璺寵繃鎵鏈変箣鍓嶇殑瀛楃錛屽寘鎷?鈥榎n鈥欍?br />鏂規(guī)硶peek() 榪斿洖鏂囦歡涓殑涓嬩竴涓瓧絎? 浣嗗茍涓嶅疄闄呰鍙栧畠銆傛墍浠ュ鏋滀綘鐢╬eek() 鏌ョ湅涓嬩竴涓瓧絎? 鐢╣et() 鍦╬eek()涔嬪悗璇誨彇錛屼細寰楀埌鍚屼竴涓瓧絎? 鐒跺悗縐誨姩鏂囦歡璁℃暟鍣ㄣ?br />鏂規(guī)硶putback(char) 杈撳叆瀛楃, 涓嬈′竴涓? 鍒版祦涓傛垜娌℃湁瑙佸埌榪囧畠鐨勪嬌鐢紝浣嗚繖涓嚱鏁扮‘瀹炲瓨鍦ㄣ?

鍐欐枃浠?br />鍙湁涓涓綘鍙兘浼氬叧娉ㄧ殑鏂規(guī)硶.?閭e氨鏄?put(char), 瀹冩瘡嬈″悜杈撳嚭嫻佷腑鍐欏叆涓涓瓧絎︺?

鎵撳紑鏂囦歡
褰撴垜浠敤榪欐牱鐨勮娉曟墦寮浜岃繘鍒舵枃浠?

ofstream fout("file.dat", ios::binary);
銆銆"ios::binary"鏄綘鎻愪緵鐨勬墦寮閫夐」鐨勯澶栨爣蹇? 榛樿鐨? 鏂囦歡浠SCII鏂瑰紡鎵撳紑, 涓嶅瓨鍦ㄥ垯鍒涘緩, 瀛樺湪灝辮鐩? 榪欓噷鏈変簺棰濆鐨勬爣蹇楃敤鏉ユ敼鍙橀夐」銆?

ios::app 娣誨姞鍒版枃浠跺熬
ios::ate 鎶婃枃浠舵爣蹇楁斁鍦ㄦ湯灝捐岄潪璧峰銆?
ios::trunc 榛樿. 鎴柇騫惰鍐欐枃浠躲?
ios::nocreate 鏂囦歡涓嶅瓨鍦ㄤ篃涓嶅垱寤恒?
ios::noreplace聽聽聽 鏂囦歡瀛樺湪鍒欏け璐ャ?

鏂囦歡鐘舵?br />銆銆鎴戠敤榪囩殑鍞竴涓涓姸鎬佸嚱鏁版槸eof(), 瀹冭繑鍥炴槸鍚︽爣蹇楀凡緇忓埌浜嗘枃浠舵湯灝俱?鎴戜富瑕佺敤鍦ㄥ驚鐜腑銆?渚嬪, 榪欎釜浠g爜鏂粺璁″皬鍐欌榚鈥?鍦ㄦ枃浠朵腑鍑虹幇鐨勬鏁般?

ifstream fin("file.txt");
char ch; int counter;
while (!fin.eof()) {
聽聽聽聽聽 ch = fin.get();
聽聽聽聽聽 if (ch == 鈥榚鈥? counter++;
}
fin.close();
銆銆鎴戜粠鏈敤榪囪繖閲屾病鏈夋彁鍒扮殑鍏朵粬鏂規(guī)硶銆?榪樻湁寰堝鏂規(guī)硶錛屼絾鏄粬浠緢灝戣浣跨敤銆傚弬鑰僀++涔︾睄鎴栬呮枃浠舵祦鐨勫府鍔╂枃妗f潵浜嗚В鍏朵粬鐨勬柟娉曘?

緇撹
銆銆浣犲簲璇ュ凡緇忔帉鎻′簡濡備綍浣跨敤ASCII鏂囦歡鍜屼簩榪涘埗鏂囦歡銆傛湁寰堝鏂規(guī)硶鍙互甯綘瀹炵幇杈撳叆杈撳嚭錛屽敖綆″緢灝戞湁浜轟嬌鐢ㄤ粬浠?鎴戠煡閬撳緢澶氫漢涓嶇啛鎮(zhèn)夋枃浠禝/O鎿嶄綔錛屾垜甯屾湜榪欑瘒鏂囩珷瀵逛綘鏈夋墍甯姪銆?姣忎釜浜洪兘搴旇鐭ラ亾. 鏂囦歡I/O榪樻湁寰堝鏄捐屾槗瑙佺殑鏂規(guī)硶,?渚嬪鍖呭惈鏂囦歡 <stdio.h>. 鎴戞洿鍠滄鐢ㄦ祦鏄洜涓轟粬浠洿綆鍗曘?紲濇墍鏈夎浜嗚繖綃囨枃绔犵殑浜哄ソ榪? 涔熻浠ュ悗鎴戣繕浼氫負浣犱滑鍐欎簺涓滆タ銆傘銆



jay 2007-01-01 13:20 鍙戣〃璇勮
]]>
国产精品无码久久久久久| 久久久无码精品亚洲日韩软件| 久久精品国产亚洲AV久| 亚洲国产精品无码成人片久久| 精品一区二区久久久久久久网站| 欧美精品丝袜久久久中文字幕 | 日本人妻丰满熟妇久久久久久| 久久99久久99精品免视看动漫| 久久精品夜色噜噜亚洲A∨ | 久久久青草久久久青草| 亚州日韩精品专区久久久| 久久99精品国产99久久| 尹人香蕉久久99天天拍| 国产福利电影一区二区三区久久久久成人精品综合 | 久久国产精品99精品国产987| 国产精品内射久久久久欢欢| 亚洲精品无码久久久影院相关影片| 亚洲一本综合久久| 国产精品一久久香蕉国产线看观看 | 久久综合香蕉国产蜜臀AV| 人人狠狠综合88综合久久| 色综合久久久久网| 午夜不卡888久久| 久久91精品国产91久久小草| 久久人人爽人人爽人人AV东京热| 精品久久久久成人码免费动漫| 成人国内精品久久久久影院VR| 久久91精品久久91综合| 久久久精品国产sm调教网站 | 伊人伊成久久人综合网777| 久久青青草原亚洲av无码| 成人精品一区二区久久| 99久久国产综合精品成人影院| 精品九九久久国内精品| 久久香蕉综合色一综合色88| 777久久精品一区二区三区无码| 国产精品免费福利久久| 久久久久久免费一区二区三区| 久久国产高清字幕中文| 久久99亚洲综合精品首页| 久久香蕉国产线看观看猫咪?v|