cstdiofile類的宣告儲存在afx.h標頭檔案中。
cstdiofile類繼承自cfile類,cstdiofile物件表示乙個用執行時的函式fopen開啟的c執行時的流式檔案。流式檔案是被緩衝的,而且可以以文字方式(預設)或者二進位制方式開啟。
cstdiofile類不支援cfile類中的duplicate、lockrange、unlockrange函式,如果你使用了,會得到cnotsupportedexception類的錯誤。
cstdiofile類預設的是按照text模式操作檔案。cfile 類預設的是按照二進位制模式操作檔案。
這裡大致說明一下二進位制模式和text模式的區別
二進位制模式:對於一行的結尾我們必須輸入」\r\n」,才能表示回車換行的效果。
text模式:」\r」回車的工作是自動完成的,我們只需要寫入」\n」即可。所以我們再使用文字模式時要主要,當我們從外部讀入檔案時,」\r\n」會被翻譯成」\n」,寫入檔案時,我們對於回車換行只需提供」\n」,即可,」\r\n」會被寫入到檔案中。
建構函式:
cstdiofile();
cstdiofile(file *popenstream);
cstdiofile(lpctstr lpfilename, uint nopenflags);throw(cfileexception);
file *popenstream:指的是c執行函式fopen呼叫後返回的檔案指標。
lpctstr lpfilename:指的是被開啟的檔案(絕對位址或相對位址)
uint nopenflags:指的是cfile類中所描述的開啟檔案的方式。
virtual lptstr readstring(lptstr lpsz, uint nmax);throw(cfileexception);
如果使用該函式讀取文字檔案,當遇到」\r\n」,停止讀取,並去掉」\r」,保留」\n」,並在字串尾部增加」\0」,nmax的長度包含有」\0」字元,
實際的分析如下:
如果nmax <= 字元數,讀取(nmax-1)個字元+0x00;
如果nmax = 字元數 + 1,讀取nmax個字元+0x00;
如果nmax > 字元數,讀取nmax個字元+0x0a(」\n」) + 0x00;
如果檔案有多行,則當檔案沒有讀完時,返回not null,讀到檔案尾,返回null。
bool readstring(cstring& rstring);throw(cfileexception);
讀取一行文字到rstring中,遇到回車換行符停止讀取,回車和換行符均不讀到rstring中,尾部也不新增」0x00」。
如果檔案有多行,則當檔案沒有讀完時,返回true,讀到檔案尾,返回false。
virtual void writestring(lptstr lpsz);throw(cfileexception);
將緩衝區中的資料寫入到與cstdiofile物件相關聯的檔案中,不支援cstring型別資料寫入,結束的」\0」不被寫入到檔案中,lpsz緩衝區中的所有換行符被替換為回車換行符即」\n」轉換為」\r\n」。
下面是自己寫的乙個小例子
#include
#include
void main()
{cstdiofile file;
file.open("a.txt",cstdiofile::modereadwrite);
file.writestring("太陽當空照");
file.writestring("\n");
file.writestring("小鳥對我笑");
file.writestring("\n");
file.writestring("早早早,你為什麼揹著小書包");
file.writestring("\n");
file.close();
cstdiofile file2;
file2.open("a.txt",cstdiofile::modereadwrite);
cstring str;
while(file2.readstring(str))
{//連續讀取檔案
cout<
使用CStdioFile 讀寫UNICODE文件
一 寫文件 1 建立文件並寫入內容 cpp view plain copy cstring filepath l c unicode.txt cstdiofile wfile if wfile.open filepath,cfile modecreate cfile modewrite cfile ...
使用CStdioFile操作檔案
檔案操作在vc程式設計中使用非常普遍,直接使用cfile對檔案進行操作比較繁瑣,使用繼承自cfile的cstdiofile類就要容易得多,用cstdiofile 來處理字串,是最簡單最好理解的的辦法。本文整理了網上大家使用的各種cstdiofile的操作方法,歸納如下 1.開啟檔案 file.ope...
PHP使用XMLWriter讀寫xml檔案操作詳解
公尺撲科技旗下的多個產品,需要指令碼自動生成sitemap.xml,於是重新溫習一遍php xml讀寫操作。讀寫xml的方式,主要圍繞xmlwriter和xmlreader進行,前者用於生成xml,後者則是用來讀取並解析xml 寫入 xml test xml write.php mimvp.com ...