Windows 7 如何使用C++;在Windows7中 我在C++中做了一个程序,但是它不允许保存在c:\Acthox\aFiel.txt/p>上。

Windows 7 如何使用C++;在Windows7中 我在C++中做了一个程序,但是它不允许保存在c:\Acthox\aFiel.txt/p>上。,windows-7,file,c++,Windows 7,File,C++,我用这个: FILE* m_hFile = fopen("c:\\SomeDirectory\\afile.txt", "a+t"); fprintf((FILE *)m_hFile, "testing"); fclose(m_hFile); 为什么?是否有一个已定义的文件夹可以保存在?Windows 7不允许在根目录(的子目录)中创建文件。也许试着以管理员的身份运行 也是,这是非常的C代码,不是C++。使用流/良好的C++,而不是C类。 /p>> p>我假定 fOpenFor(代码产生一

我用这个:

FILE* m_hFile = fopen("c:\\SomeDirectory\\afile.txt", "a+t");

fprintf((FILE *)m_hFile, "testing");

fclose(m_hFile);

为什么?是否有一个已定义的文件夹可以保存在?Windows 7不允许在根目录(的子目录)中创建文件。也许试着以管理员的身份运行

也是,这是非常的C代码,不是C++。使用流/良好的C++,而不是C类。<> /p>> p>我假定 fOpenFor(<)>代码产生一个有效的MyHFLL,其余代码也不会崩溃。由于您的程序似乎未使用管理员权限运行,因此该文件将“重定向”到“虚拟存储”。在中搜索文件

%USERPROFILE%\AppData\Local\VirtualStore\SomeDirectory\afile.txt

从本质上讲,程序应该只写用户可写的区域。关于它的更多了解。< /p> @ gman:C是C++的有效子集…那么,你如何区分这两个呢?您如何知道此代码段不是成员函数的一部分?你的头发裂开和实际问题有什么关系吗?你不需要在第二条线上的演员阵容<代码> MyHFrase<代码>已经拥有正确的类型。@阿基拉:C不是C++的子集。它们是相容的。我没有说它没有编译,我说不是C++。我们的意思是,如果这是真正的C++代码,我可能会问他们在哪里学到了惯用的C++。因为在C++中,这个代码很糟糕。您使用streams、RAII/SBRM,并且从不显式关闭对象。它不是异常安全的,也不是类型安全的。所以我重复一下:那不是C++。它是C(或可怕的C++)。你的PIC.FY:它允许你创建目录,即使是普通用户,而不是文件。@ TyrRID是正确的,但它仍然是一个好主意,@ OkAMI运行测试作为管理员(提升,同意UAC提示)排除这些问题。如果@okami给了我们真正的代码,那么虚拟化将不适用。基本上,C和程序文件的根是虚拟化的。