gpt4 book ai didi

c - 'fopen' 返回 NULL 文件指针,即使文件是使用 C 创建的

转载 作者:行者123 更新时间:2023-11-30 17:39:41 25 4
gpt4 key购买 nike

我使用以下代码以写入模式打开文件:

FILE *pf = fopen("c:\\test.txt", "w");
if (NULL == pf)
{
printf("File pointer is NULL");
}

有时创建文件,并且我可以正确获取文件指针,但有时即使文件是在 C 驱动器上创建的,我也会收到日志“文件指针为 NULL”。我该如何修复它?

最佳答案

http://msdn.microsoft.com/en-us/library/yeby3zcb.aspx :

A null pointer value indicates an error.

在现代 Windows 中,在驱动器 C 的根目录上创建文件需要管理权限。

您能否在安全位置重现相同的行为,例如在 GetTempPath 函数返回的临时目录中?

If an error occurs, the global variable errno is set and may be used to get specific error information.

检查“errno”值。它应该包含类似 EACCESEPERM 的内容。

你说:

...even if file is created in c drive.

我猜想该文件仍然是之前在管理员下成功运行的文件之一。检查创建时间戳。

关于c - 'fopen' 返回 NULL 文件指针,即使文件是使用 C 创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21726693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com