【发布时间】:2019-08-22 22:05:20
【问题描述】:
我是 C 的初学者,目前必须学习 C 和 Win32 API,在我的第一个项目中,我需要从用户那里获取路径名和文件名,然后检查文件是否存在并在用户需要时将其删除到。
我目前卡在查找文件是否存在。 我熟悉之前在此站点中显示的解决方案 (What's the best way to check if a file exists in C?),但我被提示/指示使用名为 getfullpathname() 的函数来解析字符串,然后检查输入的文件是否存在。 我的问题是,就我搜索(试图了解 MSDN 和几个或更多站点)而言,所有 GetFullPathName 所做的都是将工作驱动器和目录连接到您提供的文件名上。 我错过了什么吗?我是否需要将工作目录更改为输入的路径以连接路径和名称文件,或者只是将路径传递给函数以解析它,以便我能够进行检查? 我是否需要此函数仅用于解析路径或连接路径字符串和名称字符串? 你能提供我做这个项目第一部分的例子吗?
提前致谢。
【问题讨论】:
-
必须遵循 我需要从用户那里获取路径名和文件名 并且 我已被提示/指示使用名为 getfullpathname() 的函数你说得对我需要将工作目录更改为输入的路径......即使这很复杂(因为你必须遵守规则)^^跨度>
-
检查文件是否存在使用
GetFileAttributes,但在大多数情况下 - 根本不需要检查。想要删除文件 - 就这样做。如果文件不存在 - 你会得到这样的错误。 -
@RbMm 我知道,但是这个函数的使用是为了练习,它比C更关注winapi。
-
所以使用
GetFileAttributes检查文件是否存在 -
练习的想法是你应该写
GetFullPathName()吗?
标签: c windows visual-studio winapi