檔案操作 CreateFile 和 fopen

2021-06-01 18:13:52 字數 1075 閱讀 7830

(1)第一種方法createfile

主要的檔案操作函式有:createfile,closehandle,readfile,writefile,setfilepointer,getfilesize。其中的讀寫操作是以字元為單位,獲得檔案大小也是以字元為單位。例項:

#include "stdafx.h"

#include

void main(int argc, char* argv)

dword dwsize = getfilesize(hdevice,null);

printf("%d /n",dwsize);

char chbuffer[10] = "5469";

dword dwwritesize = 0;

bool bret = writefile(hdevice,chbuffer,4,&dwwritesize,null);

if(bret)

flushfilebuffers(hdevice);   //將緩衝區資料寫入磁碟

long idistance = 0;

dword dwptr = setfilepointer(hdevice,idistance,null,file_begin);  //調整檔案指標到檔案開頭

dword dwreadsize = 0;

bret = readfile(hdevice,chbuffer,10,&dwreadsize,null);

if (bret)

closehandle(hdevice);

return ;

}(2)第二種方法流檔案操作file

示例如下:

char datain[101];

file *fp_sys;

fp_sys = fopen("要開啟的檔名", "rb"); //第二個引數為開啟方法,r代表讀,b代表二進位制方式

if(fp_sys == null)

fread(datain, sizeof(unsigned char ), 42, fp_sys);

fwrite(output_data, sizeof(unsigned char ), 40, fp_sys);

CreateFile開啟檔案或者開啟目錄

一 開啟目錄 引數列表 lpfilename string 要開啟的檔案的名字 dwdesiredaccess long 如果為 generic read 表示允許對裝置進行讀訪問 如果為 generic write 表示允許對裝置進行寫訪問 可組合使用 如果為零,表示只允許獲取與乙個裝置有關的資訊...

create file遇到作業系統錯誤5拒絕訪問

create file遇到作業系統錯誤5拒絕訪問 當在sql server 2008建立乙個資料庫時出現錯誤 嘗試開啟或建立物理檔案 f studb data.mdf 時,create file 遇到作業系統錯誤 5 拒絕訪問。原因及解決方法如下 這是因為sql server的啟動帳戶 一般是sys...

create file遇到作業系統錯誤5拒絕訪問

create file遇到作業系統錯誤5拒絕訪問 當在sql server 2008建立乙個資料庫時出現錯誤 嘗試開啟或建立物理檔案 f studb data.mdf 時,create file 遇到作業系統錯誤 5 拒絕訪問。原因及解決方法如下 這是因為sql server的啟動帳戶 一般是sys...