我用C ++编写了一个程序,但它不允许保存在c:\ SomeDirectory \ afile.txt
我正在使用它:
FILE* m_hFile = fopen("c:\\SomeDirectory\\afile.txt", "a+t");
fprintf((FILE *)m_hFile, "testing");
fclose(m_hFile);
为什么?我可以保存一个已定义的文件夹吗?
答案 0 :(得分:1)
Windows 7不允许在根目录的(子目录?)中创建文件。也许尝试以管理员身份运行。
此外,这是非常C代码,而不是C ++。使用流/优秀的C ++,而不是C和类。
答案 1 :(得分:1)
我假设fopen()
产生一个有效的m_hFile,其余代码也不会崩溃。因为您的程序似乎没有使用admin-permissions运行,该文件将被“重定向”到“虚拟商店”。在
%USERPROFILE%\AppData\Local\VirtualStore\SomeDirectory\afile.txt
本质上程序应该只写入用户可写区域。详细了解here。