1. createfile 函數怎麼打開txt文件
HANDLE hFile;
DWORD szBuffer[4];
const char szText[] = "QQ:610847323";
char Length;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nShowCmd)
{
hFile=CreateFile("D:\\123.txt",GENERIC_WRITE,FILE_SHARE_READ,NULL,
OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);//先創建一個空來的文件
Length=lstrlen(szText);//計算源自己要寫入的長度
WriteFile(hFile,szText,Length,szBuffer,NULL);//寫入剛才創建的空文件中
return 0;
2. 怎麼用CreateFile以寫的方式打開一個只讀文件
好像參數位置錯了吧?
應該是第3個參數吧
LPCTSTR lpFileName,//file name
DWORD dwDesiredAccess,//access mode
DWORD dwShareMode,//share mode 這里添的0,也就是專不共享屬了
hfile=CreateFile(TEXT("123.txt"),
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, ......);
-----
MSDN
http://msdn.microsoft.com/en-us/library/aa363874.aspx
3. 為什麼CreateFile無法打開驅動
應該是文件寫入復許可權制設置錯誤引起的,用系統管理員賬號登入系統後安裝試試,或在系統管理員許可權下找到你項目的文件夾,右鍵選擇"屬性",然後點擊"完全"選項卡,點擊"添加","高級","立即查找",找到平時登入所用帳戶,然後"確定",最後再為登入所用帳戶戶勾選"寫入許可權",
如果系統進程的某些文件比如注冊表的SAM文件等等都是被系統獨占打開的,你要能用CreateFile函數輕松打開這些文件那系統的安全成什麼了?明確告訴你想要用這個函數打開被獨占的文件想都別想了。如此重量級的函數微軟肯定對它的安全性做了嚴密的測試,所以放棄吧。
4. CreateFile打開的分區,怎麼獲取文件的大小啊
通過 GetFileSize API 函數獲取文件大回小;答
HANDLE hFile;
DWORD dwFileSize = 0;
char szData[30];
hFile = CreateFile("e:\test1.wav",GENERIC_READ,FILE_SHARE_READ,NULL,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
dwFileSize = GetFileSize(hFile,NULL);
CloseHandle(hFile);
sprintf(szData,"File Size : %d",dwFileSize);
MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION);
5. CreateFile 另一個程序正在使用此文件,進程無法訪問
你想幹嘛呀。如果系統進程的某些文件比如注冊表的SAM文件等等都是被系統獨占打開版的,你要能用CreateFile函數輕松權打開這些文件那系統的安全成什麼了?明確告訴你想要用這個函數打開被獨占的文件想都別想了。如此重量級的函數微軟肯定對它的安全性做了嚴密的測試,所以放棄吧。
6. 用CreateFile()打開的文件,怎麼判斷讀寫位置是否已經是末尾
你是因為Create的時候帶有OPEN_ALWAYS參數吧。
這時候末尾寫文件不需要做判斷,直接
fseek(stream,SEEK_END);//FileSeek
跳轉到末尾寫就可以了。
7. createfile打開一個文件後怎麼關閉這個文件
你已經指定了FILE_SHARE_READ|FILE_SHARE_WRITE,
另外的進程也用FILE_SHARE_READ的方式打開,應該可以的。
8. 兩個程序怎麼用createfile同時打開一個文件
好像參數位置錯了吧?
應該是第3個參數吧
LPCTSTR lpFileName,//file name
DWORD dwDesiredAccess,//access mode
DWORD dwShareMode,//share mode 這里添的0,也就是不共享了
hfile=CreateFile(TEXT("123.txt"),
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, ......);
-----
MSDN
http://msdn.microsoft.com/en-us/library/aa363874.aspx
9. vc 我用文件對話框將要打開的文件路徑獲取後,用createfile打開文件時失敗。各位高手是什麼原因啊
建議使用GetLastError()查看抄對應錯誤代碼來識別錯誤原因。
1、可能是dwShareMode、dwCreationDisposition不配套。
2、也可能是文件正處於被其它進程以獨占模式打開。
3、也可能對該文件沒有訪問許可權。
10. CreateFile怎麼打開相對路徑的文件
是這樣的,你用編譯器調試執行的時候,當前目錄不是 debug文件,而是你的工程目錄。這內個目錄和容你的exe所在目錄實際上是不同的。
所以為了測試,你可以把exe所在目錄下的那個 文件 復制一份到你的工程目錄下。
或者你不要用編譯器去調試,直接找到debug下的exe文件,雙擊啟動看下效果