4.7 創(chuàng)建打開讀寫文件

說明

我只能說Unicode很坑,所以我改成了ANSI編碼.

效果

源碼

#include

#include

//獲取文件內(nèi)容以16進(jìn)制打印

DWORD ReadFileContent(LPSTR szFilePath){

HANDLE hFileRead;//文件句柄

LARGE_INTEGER liFileSize;//文件大小

DWORD dwReadSize;//讀取的文件大小

LONGLONG liTotalRead = 0;//累加已讀取的大小

BYTE lpFileDataBuffer[32];//文件數(shù)據(jù)緩存

//打開已存在的文件并讀取內(nèi)容

hFileRead = CreateFile(

szFilePath,//要打開的文件名

GENERIC_READ,//已讀方式打開

FILE_SHARE_READ,//可共享讀

NULL,//默認(rèn)安全設(shè)置

OPEN_EXISTING,//只打開已經(jīng)存在的文件

FILE_ATTRIBUTE_NORMAL,//常規(guī)文件屬性

NULL//無模板

);

if (hFileRead == INVALID_HANDLE_VALUE){

printf("打開文件失敗: %d\n", GetLastError());

}

if (!GetFileSizeEx(hFileRead, &liFileSize)){

printf("獲取文件大小失敗: %d\n", GetLastError());

} else{

printf("文件大小為: %d\n", liFileSize.QuadPart);

}

//循環(huán)讀取并打印文件內(nèi)容

while (TRUE){

DWORD i;

if (!ReadFile(

hFileRead,//文件的句柄

lpFileDataBuffer,//存儲讀取的文件內(nèi)容

32,//一次讀取的大小 32字節(jié)

&dwReadSize,//實際讀取的大小

NULL//不使用overlapped

)){

printf("讀取文件錯誤: %d\n", GetLastError());

break;

}

printf("讀取了 %d 字節(jié),文件內(nèi)容是:\n", dwReadSize);

for (i = 0; i< dwReadSize; i++){

printf("0x%x ", lpFileDataBuffer[i]);

}

printf("\n");

liTotalRead += dwReadSize;//累加讀取的數(shù)據(jù)大小

if (liTotalRead == liFileSize.QuadPart){

//如果累加的大小等于文件總大小

printf("讀取文件結(jié)束\n");

break;

}

}

CloseHandle(hFileRead);

return 0;

}

//添加數(shù)據(jù)到文件尾

DWORD SaveDataToFile(LPSTR szFilePath, LPVOID lpData, DWORD dwDataSize){

HANDLE hFileWrite;//文件句柄

DWORD dwWriteDateSize;//成功寫入的數(shù)據(jù)大小

//打開已存在的文件

hFileWrite = CreateFile(

szFilePath,//要打開的文件名

GENERIC_WRITE,//以寫方式打開

0,//可共享讀

NULL,//默認(rèn)安全設(shè)置

OPEN_ALWAYS,//打開以存在的文件,沒有則創(chuàng)建

FILE_ATTRIBUTE_NORMAL,//常規(guī)文件屬性

NULL//無模板

);

if (hFileWrite == INVALID_HANDLE_VALUE){

printf("打開文件失敗: %d\n", GetLastError());

}

//設(shè)置文件指針到文件尾

SetFilePointer(hFileWrite, 0, 0, FILE_END);

if (!WriteFile(hFileWrite, lpData, dwDataSize, &dwWriteDateSize, NULL)){

printf("寫文件失敗: %d\n", GetLastError());

} else{

printf("寫文件成功,寫入 %d 字節(jié)數(shù)據(jù)\n", dwWriteDateSize);

}

CloseHandle(hFileWrite);

return 0;

}

int main(int argc, PCHAR argv[]){

LPTSTR szFileData = TEXT("御坂網(wǎng)絡(luò)寫文件測試");

SaveDataToFile(TEXT("寫文件.txt"), szFileData, lstrlen(szFileData));

ReadFileContent(TEXT("寫文件.txt"));

getchar();

return 0;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雾鬼,一起剝皮案震驚了整個濱河市鞍爱,隨后出現(xiàn)的幾起案子上枕,更是在濱河造成了極大的恐慌伟桅,老刑警劉巖剪芍,帶你破解...
    沈念sama閱讀 212,185評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異试吁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)毫别,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來典格,“玉大人岛宦,你說我怎么就攤上這事∷=桑” “怎么了恋博?”我有些...
    開封第一講書人閱讀 157,684評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長私恬。 經(jīng)常有香客問我,道長炼吴,這世上最難降的妖魔是什么本鸣? 我笑而不...
    開封第一講書人閱讀 56,564評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮硅蹦,結(jié)果婚禮上荣德,老公的妹妹穿的比我還像新娘。我一直安慰自己童芹,他們只是感情好涮瞻,可當(dāng)我...
    茶點故事閱讀 65,681評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著假褪,像睡著了一般署咽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上生音,一...
    開封第一講書人閱讀 49,874評論 1 290
  • 那天宁否,我揣著相機(jī)與錄音,去河邊找鬼缀遍。 笑死慕匠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的域醇。 我是一名探鬼主播台谊,決...
    沈念sama閱讀 39,025評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼譬挚!你這毒婦竟也來了锅铅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,761評論 0 268
  • 序言:老撾萬榮一對情侶失蹤殴瘦,失蹤者是張志新(化名)和其女友劉穎狠角,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蚪腋,經(jīng)...
    沈念sama閱讀 44,217評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡丰歌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,545評論 2 327
  • 正文 我和宋清朗相戀三年姨蟋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片立帖。...
    茶點故事閱讀 38,694評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡眼溶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晓勇,到底是詐尸還是另有隱情堂飞,我是刑警寧澤,帶...
    沈念sama閱讀 34,351評論 4 332
  • 正文 年R本政府宣布绑咱,位于F島的核電站绰筛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏描融。R本人自食惡果不足惜铝噩,卻給世界環(huán)境...
    茶點故事閱讀 39,988評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窿克。 院中可真熱鬧骏庸,春花似錦、人聲如沸年叮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽只损。三九已至一姿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跃惫,已是汗流浹背啸蜜。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留辈挂,地道東北人衬横。 一個月前我還...
    沈念sama閱讀 46,427評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像终蒂,于是被迫代替她去往敵國和親蜂林。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,580評論 2 349

推薦閱讀更多精彩內(nèi)容