2014年9月19日 星期五

C++ R/W File

http://www.cnblogs.com/awen/archive/2012/08/20/2647350.html
http://openhome.cc/Gossip/CppGossip/UnFormatFileIO.html
從來沒有好好用心學過c++,SDK時覺得很吃力,覺得自己實在是太弱了T_T, 該努力的時候到了!!!!先從簡單的開始吧!!!!
先找個免費的編譯器,發現CodeBlock還蠻好用的,介面也很漂亮

----------------------------- 以上廢話分隔線 ------------------------------

C++要讀寫檔要引用
#include <fstream>


ios的性質有五種
ios::in 檔案open為輸入模式(istream default)
ios::out 檔案open為寫入(ostream default)
ios::ate 從檔案尾端輸入輸出
ios::app 在檔案尾端以append模式寫入
ios::trunc 如果檔案存在,則清除檔案內容
ios::binary 以二進位模式open檔案


常用在檔案處理的函式
open(file,mode)
close()
is_open()
eof()
write(buffer,n)
read(buffer,n)
get(ch)
getline(buffer,sizeof(buffer))



在讀檔可以用
read(buffer,n)
get(ch)
getline(buffer,sizeof(buffer))
下面任意使用一種都會印出一樣的結果,寫兩個也只會印一個




ios::app|ios::in打開,不管有沒有檔,都是失敗。 



寫入檔案有兩種方式
file << input data
file.write(buffer,strlen(buffer));

如果有加ios::app則寫入的資料會接著原本的檔案資料後面寫






fstream流,默認是ios::in,所以如果沒有檔,ios::appios::ate都是失敗, 
ios::app|ios::out,如果沒有檔則創建檔,如果有檔,則在檔尾追加 
ios::ate|ios::out打開,如果沒有檔則創建檔,如果有,則清空檔。 
ios::ate|ios::out|ios::in打開,如果沒有檔,則打開失敗,有檔則定位到檔案結尾 

沒有留言:

張貼留言