70,037
社区成员
发帖
与我相关
我的任务
分享在使用 CreateFile 函数时,如果返回值为 INVALID_HANDLE_VALUE,这通常意味着函数调用失败。以下是一些可能导致此错误的原因以及相应的解决方法:
一、常见原因及解决办法
\ 是转义字符,所以如果要表示路径中的反斜杠,需要使用双反斜杠 \\。比如要打开 C:\test.txt 这个文件,在代码中应该写成 "C:\\test.txt"。
GENERIC_READ。OPEN_EXISTING 标志打开文件,并且文件实际上不存在,就会返回 INVALID_HANDLE_VALUE。如果希望在文件不存在时创建它,可以使用 CREATE_ALWAYS 或 CREATE_NEW 标志(根据需求选择)。
《Windows核心编程》(作者:Jeffrey Richter)
CreateFile 函数背后的系统原理非常有帮助。书中包含了大量的代码示例,通过实际的代码演示如何正确地进行系统级编程操作,如文件的创建、打开、读写等操作。
《C++ Primer Plus》(作者:Stephen Prata)
CreateFile 函数在C++ 中也可以使用,掌握好C++ 的基础知识有助于更好地理解和运用这个函数。书中包含了许多实用的示例代码,可以帮助读者理解如何在实际的C++ 项目中处理文件操作等相关任务。CreateFile 函数的高级用法)的读者来说,可能会觉得书中部分内容过于基础和宽泛。《Windows程序设计》(作者:Charles Petzold)
CreateFile 函数,它会从函数的原型、参数含义、返回值处理等多个方面进行讲解,并且会结合实际的Windows窗口程序开发场景,展示如何在不同的应用场景下正确使用这个函数。| 推荐书籍 | 图书特点 |
|---|---|
| 《Windows核心编程》 | 作者:Jeffrey Richter,出版社:Microsoft Press,深入讲解Windows内核机制,包含大量代码示例,涵盖进程、线程等多方面知识,适合深入学习Windows编程 |
| 《C++ Primer Plus》 | 作者:Stephen Prata,出版社:Sams Publishing,全面的C++ 教程,包含语法、面向对象编程等内容,有助于理解C++ 中的文件操作相关知识,适合初学者入门 |
| 《Windows程序设计》 | 作者:Charles Petzold,出版社:Microsoft Press,专注Windows程序设计,详细讲解Windows API,结合实例展示函数用法,适合学习Windows程序开发中的文件操作 |
这种函数。注意路径是否正确。哪里是否有那个文件。一般来说:参数最好写(没有就创建一个)
你上面不是标注只打开存在的文件,如果不存在就会返回错误
具体使用也很简单,

CreateFile的第一个参数要放你要创建的文件的名称,看你代码的方式是通过外部命令的方式传入,但是你运行时没有传入名称
所以你的argv呢?存在否?