介紹如何使用 cstdiofile 類去寫檔案。
1因為是在vs2013下建立的工程,預設是unicode編碼,所以就用到了 wchar 這樣的字元型別。///my add 2//
獲取當前路徑名
3 wchar szpaht[max_path] = ;
4 getmodulefilename(null, szpaht, sizeof
(szpaht));
5pathremovefilespec(szpaht);67
//設定你的檔名
8 cstring strfilename("
demo.txt");
910//將檔名附加在 當前路徑 裡面
11 wcscat_s(szpaht, l"
\\"); ///
知道為啥是l 開頭嗎,因為vs2013工程預設是unicode環境,unicode字串需要 l 開頭的巨集
12wcscat_s(szpaht, strfilename.getstring());
1314
///必須 設定 一下 語言環境,否則 my_log_file.writestring 不能輸出中文(是不是感覺好複雜?)沒關係,當前工程能跑起來,能夠就行。
15 setlocale(lc_all, "
chs"
);16
17//
檔案讀寫 stdiofile
18//
1.建立 cstdiofile的物件,並指定 讀寫檔案的方式。 cfile::modenotruncate,不會覆蓋之前的檔案。
19 cstdiofile my_log_file(szpaht, cfile::modewrite | cfile::modecreate |cfile::modenotruncate);
20///
這裡將2行**合併為1行了。如果分開寫,是這樣的:
21///
cstdiofile my_log_file;
22///
my_log_file.open(szpaht, cfile::modewrite | cfile::modecreate | cfile::modenotruncate);
23///
/ 24
25//
2.將讀寫指標移到檔案末尾
26my_log_file.seektoend();
27//
3.寫入乙個字串
28cstring strdata;
29 strdata.format(l"
%s", l"
早上好,");
30 strdata = strdata + l"
。\r\n";
31my_log_file.writestring(strdata);
32//
4.關閉 讀寫指標
33 my_log_file.close();
這裡面也有 再次介紹 如何 獲取字串。
這些都不是重點。重點看看 cstdiofile 這個類如何使用。
1.建立這個類的物件;
2.呼叫open() 方法,開啟某個檔案;/ 第1步和第2步可以合併。見**第19行。
3.如果有必要,就呼叫 seektoend(),將檔案指標移到檔案末尾
4.呼叫writestring() 寫入檔案;
5.寫完之後,關閉檔案。
1. 需要設定 語言環境(setlocale(lc_all, "chs");
),否則 writestring() 無法將中文寫入到文字檔案中。
2.我講解的不太清楚,如果你也看得迷迷糊糊的,沒關係,有原始碼。可以直接拿來用的。前言部分 有原始碼鏈結。
CStdioFile寫檔案中出現的問題
被乙個bug糾纏了兩天,今天總算找到問題在 了 建立學生端存放考試結果資料夾 cstring strfolderpath c strfolderpath t 學生資料夾 if createdirectory strfolderpath,null cstring csrscfile strfolder...
CStdioFile類建立日誌記錄檔案
1,cstdiofile類建立日誌檔案,定義全域性變數,每個需要記錄位置的地方,以當前時間作為檔名稱 log text 全域性變數 cstdiofile g logfile 日誌檔案 cstring filename ctime tm ctime getcurrenttime filename tm...
用CStdioFile寫程式日誌
bool bresult f.open strlogfilename,cfile modewrite cfile modecreate cfile modenotruncate cfile typetext if bresult ctime t ctime getcurrenttime static...