fopen返回空,请问如何解决?

FILE *pFile = fopen("C:\WINDOWS\System32\WinStarSp.INI", "rb") ;

发现只要在system32下都是返回空,但是换成其他目录就可以。

楼上说的用管理员权限去运行 我试了一下应该也是不能成功的
图片说明
32 位程序在 64 位操作系统下,看到的 System32 目录是 64 位系统下的 SysWow64 目录。如果是32位系统下的系统目录都是使用Windows/ System32文件,编程时可以直接使用。
在64位系统下使用这个函数后得到的还是“..Windows/System32”,只不过在后来使用的时候系统重新定向到"..Windows/SysWOW64"目录下, 一般的使用并没有问题,但是如果复制文件的话,就无法重新定位。即, CopyFile 到系统目录中是,是指向了system32目录,而不是 sysWOW64目录。如果一定要复制,可以先把文件读到内存里再复制,一定可以。

系统目录是否有保护,还有就是注意32位,64位平台的路径重定向

你的程序权限不够啊,用管理员权限去运行试试看,系统文件普通用户是不能随便修改的.

Windows下的某些系统配置文件的读写,需要管理员模式,fopen打开失败,可能是权限不够,以管理员权限运行试试。

知道了,是64,32位系统路径不同导致的