我使用Createfile函數創建文件。 C程序工作正常,但我無法在相應的文件夾中看到創建的文件。 也選中「查看隱藏文件」選項。Createfile函數
回答
您可以通過檢查返回的HANDLE值來檢查函數是否正常工作。
編輯:如果一個函數失敗,C程序將繼續運行(不正確)。因此檢查每個返回的手柄非常重要。
編輯:返回的HANDLE不應該是INVALID_HANDLE_VALUE。 (但我可以想象,NULL也不好)。
'CreateFile'不返回'HRESULT'。 – Philipp 2010-07-20 07:04:32
是的,功能只能正常工作。 我檢查了返回值(0)。 – Pradeep 2010-07-20 07:05:27
功能如下所示: memset(message_file,0x00,sizeof(cmdline)); sprintf(message_file,「D:\\ temp2 \\ a.txt」); FD =的CreateFile(message_file,GENERIC_READ | GENERIC_WRITE, \t \t \t \t \t \t FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, \t \t \t \t \t \t OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if(fd == INVALID_HANDLE_VALUE) { return 1; } 執行上面的操作後,我檢查了文件夾D:\ temp2,沒有文件存在。 – Pradeep 2010-07-20 09:03:02
有兩件事要檢查。第一,它真的成功了嗎?從docs:
返回值
如果函數成功,返回值是打開的句柄到指定的文件,設備,命名管道或郵件插槽。
如果函數失敗,則返回值爲INVALID_HANDLE_VALUE
。要獲得更多的錯誤信息,請致電GetLastError
。
第二,你看在正確的地方。通常,在IDE中運行其代碼的人員並不知道他們當前的工作目錄並不總是他們的想法。您可以system("cd");
或類似的東西,看看它實際是什麼。
或者,您可以使用絕對路徑名來確保正確的位置創建文件(用於測試,即 - 您應該永不對生產代碼使用絕對路徑)。
如果這兩個建議都不能解決問題,您應該發佈顯示特定問題的代碼。最好足夠,以便我們不必回來並要求更多。
- 1. WinAPI的CreateFile函數
- 2. 無法使用CreateFile函數
- 3. Visual C++中的CreateFile函數
- 4. C++ CreateFile函數錯誤
- 5. 你如何使用函數createFile?
- 6. WinAPI的createfile文件函數2
- 7. CreateFile&ReadFile
- 8. CreateFile Hook
- 9. C++ CreateFile和fopen函數搶先讀取整個遠程文件
- 10. 由CreateFile()函數創建的文本文件不顯示
- 11. 如何將CreateFile API函數用於網絡路徑?
- 12. detours hooked CreateFile函數觸發器堆棧溢出
- 13. 使用函數CreateFile(..)打開C中的串行RS232端口
- 14. 如何檢查文件已在Windows的CreateFile函數中打開
- 15. 是否有該函數CreateFile返回INVALID_HANDLE_VALUE和GetLastError()返回ERROR_ALREADY_EXISTS
- 16. 在WinCE中,CreateFile函數:文件打開失敗
- 17. 如何使用CreateFile()API函數打開名爲.txt的文件?
- 18. 使用JNA調用CreateFile給出UnsatisfiedLinkError:查找函數'CreateFile'時出錯:找不到指定的過程
- 19. CreateFile GetFileTIme SetFileTime
- 20. C#中的CreateFile
- 21. CreateFile()失敗GetLastError()= 5
- 22. CreateFile的端口INVALID_HANDLE_VALUE
- 23. RegisterDeviceNotification()與UAC的CreateFile()
- 24. CreateFile(「CONIN $」..)做什麼?
- 25. IsolatedStorage CREATEFILE不工作
- 26. Windows7中CreateFile錯誤
- 27. 使用CreateFile函數創建文件會導致寫保護文件
- 28. Masm invoke createfile不起作用
- 29. CreateFile with Serial communication has access violation
- 30. 爲CreateFile提示憑證
在MineSweeper中實現這種效果非常困難。 – leppie 2010-07-20 07:04:35
向我們展示代碼!除了Raymond Chen之外,心理調試並不是一個發達的領域。 – paxdiablo 2010-07-20 07:05:42
請顯示一些代碼。 – Philipp 2010-07-20 07:06:11