c++中的檔案讀取主要用過和兩個標頭檔案中的函式來操作
stat函式主要用來讀取檔案資訊,
ifstream函式主要用來開啟檔案,將檔案轉換為流,從而對檔案進行讀寫操作。
標頭檔案主要包含四個類,分別為ifstream,ofstream,fstream,
函式:voidopen(constchar* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
voidopen(conststring& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
open函式開啟檔案,開啟方式分為(mode)
ios::in
開啟輸入(讀)檔案
ios::out
開啟輸出(寫)檔案
ios::ate
初始位置為檔案尾
所有寫入附加在檔案末尾
ios::trunc
如果所操作的檔案已經存在了,就先刪除
ios::binary
以二進位制開啟
開啟檔案屬性分為(prot)
普通檔案,開啟操作
唯讀檔案
隱含檔案
系統檔案
voidclose(); 關閉檔案操作
void
basic_ofstream<_chart, _traits>::close()
判斷檔案狀態的函式
is_open():檔案是否正常開啟,正常開啟返回true
bad():讀寫過程中是否出錯(操作物件沒有開啟,寫入的裝置沒有空間)
fail():讀寫過程中是否出錯(操作物件沒有開啟,寫入的裝置沒有空間,格式錯誤--比如讀入型別不匹配)
eof():讀檔案到達檔案末尾,返回true
good():判斷檔案讀寫正常且沒有到檔案末尾。
檔案定位函式
輸入流操作seekg(),tellg(),
輸出流操作tellp().seekp(),
seekg()函式檔案定位操作
seekg()是對輸入檔案定位,它有兩個引數:第乙個引數是偏移量,第二個引數是基位址。
對於第乙個引數,可以是正負數值,正的表示向後偏移,負的表示向前偏移。而第二個引數可以是:
ios::beg:表示輸入流的開始位置
ios::cur:表示輸入流的當前位置
ios::end:表示輸入流的結束位置
tellg()函式不需要帶引數,它返回當前定位指標的位置,也代表著輸入流的大小。
struct stat
;s_ifmt 0170000 檔案型別的位遮罩
s_ifsock 0140000 套接字
s_iflnk 0120000 符號連線
s_ifreg 0100000 一般檔案
s_ifblk 0060000 區塊裝置
s_ifdir 0040000 目錄
s_ifchr 0020000 字元裝置
s_ififo 0010000 先進先出
s_isuid 04000 檔案的(set user-id on execution)位
s_isgid 02000 檔案的(set group-id on execution)位
s_isvtx 01000 檔案的sticky位
s_irusr(s_iread) 00400 檔案所有者具可讀取許可權
s_iwusr(s_iwrite)00200 檔案所有者具可寫入許可權
s_ixusr(s_iexec) 00100 檔案所有者具可執行許可權
s_irgrp 00040 使用者組具可讀取許可權
s_iwgrp 00020 使用者組具可寫入許可權
s_ixgrp 00010 使用者組具可執行許可權
s_iroth 00004 其他使用者具可讀取許可權
s_iwoth 00002 其他使用者具可寫入許可權
s_ixoth 00001 其他使用者具可執行許可權
上述的檔案型別在posix中定義了檢查這些型別的巨集定義:
s_islnk (st_mode) 判斷是否為符號連線
s_isreg (st_mode) 是否為一般檔案
s_isdir (st_mode) 是否為目錄
s_ischr (st_mode) 是否為字元裝置檔案
s_isblk (s3e) 是否為先進先出
s_issock (st_mode) 是否為socket
stat函式主要用於獲取檔案的資訊而並不對檔案進行操作。
C 讀取檔案
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...
c 讀取檔案
用c 讀取檔案內容中文是亂碼的解決方法 方法1 streamreader din new streamreader c 1.txt system.text.encoding.getencoding gb2312 string html while din.peek 1 din.close 方法2 s...
C 檔案讀取
一.fileinfo類,檢視檔案屬性,建立檔案,移動檔案,重新命名檔案等資訊。directoryinfo類,用來獲取資料夾的資訊。二.file讀寫檔案,file.readalllines 讀取所有行string陣列 file.readalltext 讀取整個檔案string file.readall...