c 檔案操作

2021-06-05 15:31:25 字數 1911 閱讀 3357

第二個問題:

1、gets(str);

是從緩衝區中讀取字串,然後儲存到陣列str中直到遇到回車符,換行符不作為字串的內容,讀取的換行符會轉換為null值,由此標誌程式的結束。

2、cin.getline(char*line,int size,char ='"n')是讀入一行字元,第二個引數是本次讀取的最大字元個數,第三個引數是分隔字元,作為讀取一行結束的標誌,預設是\n。

3、cin.get()第乙個用法,是讀入乙個字元。 cin.get()第二個用法,也是輸入一行(同cin.getline()),但是區別就是,不輸出分隔符

補充一下:

cin.getline() 與 cin>>str 的乙個不同是,前者輸入一行,行中可以包含空格,後者卻以空格或回車作為字串結束,不包含空格。 

補充:get() 和getline()的異同

1)相同點:

要獲取一行的輸入,標準流類的成員函式getline(),get()都有三個引數,比如getline(char*line,int size,char ='\n')。其中第乙個引數指向儲存結果字元的緩衝區指標,第二個表示緩衝區大小(本次讀取的最大字元個數,不能夠超過其限度),第三個表示知道什麼時候停止讀輸入的終止符(讀取一行結束的標誌)。終止符有乙個經常用到的預設值"\n"。兩個函式遇到輸入終止符時,都把零儲存在結果緩衝區裡。

2)不同點:

1.一般來講,get()一次讀入乙個字元,getline()一次讀入一行字元

2.在處理字串時,get()遇到輸入流的分隔符時就停止,而不從輸入流中提取分隔符。比如用cin.get(myarray1,20,'*'); 處理字串1111*2222,碰到*就停止。cout<

#include

using namespace std;

void main()

4)read 函式和 write函式

最近開始從事搜尋引擎的工作,所以又重新開始了c/c++的旅程,時隔4年

不得不複習一下c/c++其中的內容,以下內容有網上別的朋友發表的,也有我自己總結的.

1. read

#include

ssize_t read(int filedes, void *buf, size_t nbytes);

返回值:讀取到的位元組數;0(讀到 eof);-1(出錯)

read 函式從 filedes 指定的已開啟檔案中讀取 nbytes 位元組到 buf 中。以下幾種情況會導致讀取到的位元組數小於 nbytes :

a. 讀取普通檔案時,讀到檔案末尾還不夠 nbytes 位元組。例如:如果檔案只有 30 位元組,而我們想讀取 100

位元組,那麼實際讀到的只有 30 位元組,read 函式返回 30 。此時再使用 read 函式作用於這個檔案會導致 read 返回 0 。

b. 從終端裝置(terminal device)讀取時,一般情況下每次只能讀取一行。

c. 從網路讀取時,網路快取可能導致讀取的位元組數小於 nbytes 位元組。

d. 讀取 pipe 或者 fifo 時,pipe 或 fifo 裡的位元組數可能小於 nbytes 。

e. 從面向記錄(record-oriented)的裝置讀取時,某些面向記錄的裝置(如磁帶)每次最多只能返回乙個記錄。

f. 在讀取了部分資料時被訊號中斷。

讀操作始於 cfo 。在成功返回之前,cfo 增加,增量為實際讀取到的位元組數。

2. write

#include

ssize_t write(int filedes, const void *buf, size_t nbytes);

返回值:寫入檔案的位元組數(成功);-1(出錯)

write 函式向 filedes 中寫入 nbytes 位元組資料,資料**為 buf 。返回值一般總是等於 nbytes,否則就是出錯了。常見的出錯原因是磁碟空間滿了或者超過了檔案大小限制。

from : antigloss

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