先貼上**
// fstream.cpp : 定義控制台應用程式的入口點。
//#includeusing namespace std;
void main()
if ( ! outfile )
string word;
while ( infile >> word ) //從infile檔案讀取內容,類似等待使用者的控制台出入
outfile << word << ' '; //向內容檔案outfile寫入,類似往控制台輸出內容
return 0;
}
從乙個名為 in_file.txt 的文字檔案中讀取單詞,
然後把每個詞寫到乙個名為out_file.txt的輸出檔案中 並且每個詞之間用空格分開
return -1;
return -2;
可以在程式退出的時候知道程式是發生了什麼錯誤退出的;
word相對於乙個緩衝器
while ( infile >> word ) //從infile檔案讀取內容,類似等待使用者的控制台出入
outfile << word << ' '; //向內容檔案outfile寫入,類似往控制台輸出內容
一直到infile中沒有單詞之後,while才停止;
最近在看c++,學到了標準庫這一章,看到cin的時候,我們經常看到很多的**中會有這麼一段
while(cin>>x)
這裡我們最關注的問題是while括號裡面cin>>x他每次輸入的時候返回的是什麼值呢。
所以我們也就會問cin的返回值是什麼。
我也看到很多像我這樣的新手問這樣的問題,下面說下我個人的見解,如有不當之處,還請指正!
其實我倒覺得我們這個問題問錯了,
我們不應該問cin返回值是什麼,我覺得我們應該關注">>"輸入操作符,
其實是它到底返回了什麼。
因為cin是標準輸入istream的乙個物件,乙個物件能返回什麼嗎?物件有返回值嗎?好像沒有吧!
在c++primer裡面講到過,cin>>x>>y。
有這麼一行**,我們討論下">>"這個輸入操作符,
這個操作符接收乙個istream物件作為其做運算元,
接收乙個物件作為其右運算元。">>"操作符返回其左運算元作為結果,
這樣也就可以解釋為什麼上面可以將兩個輸入操作合併了。
因為cin>>x返回cin物件,接著又可以進行cin>>y。
所以我們就可以順利進行輸入了。
所以我們再來看上面的那個while迴圈,
裡面的cin>>x,
返回的是cin物件(注意是輸入操作符「>>」返回),
所以返回的也就可以認為是流本身了。
我們再來看下他什麼時候退出迴圈。
因為我們已經知道了括號裡面的返回值了,
所以我們看看它什麼時候退出迴圈。
輸入(cin)緩衝是行緩衝。
當從鍵盤上輸入一串字元並按回車後,這些字元會首先被送到輸入緩衝區中儲存。
每當按下回車鍵後,cin 就會檢測輸入緩衝區中是否有了可讀的資料,
這種情況下cin對鍵盤上是否有作為流結束標誌ctrl+z或者ctrl+d,
其檢查的方式有兩種:阻塞式以及非阻塞式。
這裡借用一點網上搜到的資料:
阻塞式檢查方式指的是只有在回車鍵按下之後才對此前是否有 ctrl+z 組合鍵按下進行檢查,
非阻塞式樣指的是按下 ctrl+d 之後立即響應的方式。
如果在按 ctrl+d 之前已經從鍵盤輸入了字元,
則 ctrl+d的作用就相當於回車,即把這些字元送到輸入緩衝區供讀取使用,
此時ctrl+d不再起流結束符的作用。
如果按 ctrl+d 之前沒有任何鍵盤輸入,則 ctrl+d 就是流結束的訊號。
阻塞式的方式有乙個特點:只有按下回車之後才有可能檢測在此之前是否有ctrl+z按下。
還有乙個特點:
windows下是不用ctrl+d的,如果在你的程式中使用ctrl+d的話,
如果你還有要輸入的資料的話,會直接掛掉的,不能再輸入了。
windows下是使用ctrl+z的。
在你輸入ctrl+z後,括號裡面的資料變為0000 0000了。
C 檔案操作與C 的檔案操作
c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...
C 檔案操作
c 追加檔案 sw.writeline 追逐理想 sw.writeline kzlll sw.writeline net筆記 sw.flush sw.close c 拷貝檔案 string orignfile,newfile file.copy orignfile,newfile,true c 刪除...
C 檔案操作
c 檔案操作 軒軒 發表於 2006 2 18 12 40 16 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器...