C 檔案操作

2021-07-29 03:42:09 字數 2101 閱讀 2975

先貼上**

// 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 一般情況下就是指的顯示器...