VS2010 檔案訪問之CStdioFile

2021-06-27 01:54:43 字數 1999 閱讀 6228

問題提出:

我們在實際程式設計中會將一些資料儲存到檔案中,用於更進一步的處理,或者便於另一些exe呼叫。方法有很多種。我這裡只談下cstdio類。

1.定義

cstdiofile listcon;  

2.開啟檔案

listcon.open("d:\\list.txt",cfile::modewrite | cfile::typetext | cfile::modecreate | cfile::modenotruncate);

3.向檔案寫入內容

cstring temp;

temp.format("%d %s %d %d %d %d \n  ",curmoban.id,file,rectx,recty,rectwidth,rectheight);

listcon.writestring(temp); 

通過迴圈寫入後我們看到檔案中內容。以空格隔開。

0 p0.bmp 0 0 0 0 

1 p1.bmp 953 1017 136 347 

2 p2.bmp 1102 1429 172 382 

3 p3.bmp 1290 820 152 369 

4 p4.bmp 1523 995 110 230 

4.讀取檔案內容

cstdiofile file("d:/list.txt",cfile::moderead);//建立cstdiofile物件

while(file.readstring(linedata))//讀取出一行中的所有字元

如此一來乙個程式中產生的資料就在另乙個程式中被提取出來了。可以為同一程式提供資料共享,也可以為不同程式提供資料共享。也可以呼叫excel元件直接做資料處理。

5.總結:  資料檔案的存貯還是非常有用的,方便了資料的記錄,儲存和處理。

附錄:引數二:nopenflags可組合為以下值:

cfile::modecreate建立乙個新的檔案,如果檔案存在將檔案擷取成長度為0。 ·

cfile::modenotruncate此標誌總是與modecreate 配合使用,如果檔案存在,不將檔案擷取成長度為0;如果檔案不存在即建立新檔案。這個功能往往很好用,比如說,當你需要開啟乙個設定檔案,但是你並不清楚這個檔案是否已經存在。

cfile::moderead唯讀方式開啟。

·cfile::modereadwrite讀寫方式開啟。. ·

cfile::modewrite只寫方式開啟。 ·

cfile::modenoinherit阻止這個檔案被子程序繼承。 ·

cfile::sharedenynone開啟這個檔案同時允許其它程序讀寫這個檔案。如果檔案被其它程序以相容的模式開啟,這時create操作會失敗。 ·

cfile::sharedenyread開啟檔案拒絕其它任何程序讀這個檔案。如果檔案被其它程序用compatibility模式或者是讀方式開啟,create操作失敗。. ·

cfile::sharedenywrite開啟檔案拒絕其它任何程序寫這個檔案。如果檔案被其它程序用compatibility模式或者是寫方式開啟,create操作失敗。 ·

cfile::shareexclusive以獨佔方式開啟這個檔案,不允許其它

程序讀寫這個檔案。如果檔案已經在其它程式或當前程式以其他方式開啟來進行讀寫,將返回失敗。 ·

cfile::sharecompat這個標誌在32位的mfc中無效。 ·

cfile::typetext設定成對回車換行對有特殊處理的文字模式(僅用在派生類中)。 ·

cfile::typebinary設定二進位制模式(僅用在派生類中) 。

VS2010新增配置檔案

也許初學者會疑惑,我們 d層直接使用資料庫連線字串很簡單的就可以實現連線資料庫 為什麼還要用配置檔案來連線資料庫呢 原因就是 在配置檔案中的資訊相當於全域性變數,如果有修改只要改動配置檔案的鍵值就可達到全域性修改的效果,無需編譯 修改起來更為便捷 下面是新增配置檔案連線資料庫的基本步驟 1.首先需要...

VS2010生成檔案

resource.h resource.h就是.rc檔案的標頭檔案 rc檔案裡的常量全在resource.h定義 rc檔案和resource.h 都是給project add resource 的時候vs 自動生成的。vcxproj 這是使用應用程式嚮導生成的 vc 專案的主專案檔案。它包含生成該檔...

vs2010中的ipch資料夾和sdf檔案

這個詳細點的解釋 大家也許發現了,visual studio 2010 中新建乙個專案會同時建立乙個ipch目錄與sdf檔案,即使你刪掉它,再次開啟工程時還是會重新建立。動輒30 50m的容量讓我們心裡很不爽。其實這 是2010的乙個新功能,與智慧型提示,錯誤提示,恢復 團隊本地倉庫等等息息相關的東...