c++ - 无法创建 .txt 文件并用 C++ 写入它?

标签 c++

main() 调用的我的一个函数中,我有以下非常简单的测试片段。

ofstream outFile;
outFile.open("C:\\Program Files\\data\\test.txt");
outFile << "test\n";
outFile.close();

运行代码后,我没有看到文件出现。为什么会这样?

最佳答案

不幸的是,C++ 没有指定任何获取更详细错误的方法。参见 Get std::fstream failure error messages and/or exceptions .

但是特定于平台的界面应该可以工作。每次操作后检查是否 outFile.bad() 如果为真,检查 GetLastError() .根据文档中的适当表格或使用 FormatMessage 进行解释.


我怀疑是权限问题。 Windows Vista 引入了这种“用户访问控制”,只要程序想要执行需要管理员权限的操作,即使当前用户拥有管理员权限,它也会弹出一个对话框。问题是对话框只在特定条件下弹出。值得注意的是,它不会针对控制台应用程序弹出,并且应用程序的权限会立即被拒绝。此类应用程序必须以“管理员身份”明确执行。当然不要忘记能够在那里写入特定文件并不意味着能够创建一个新文件。

关于c++ - 无法创建 .txt 文件并用 C++ 写入它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274044/

相关文章:

c++ - 字节数组转换为逗号分隔的 int 字符串

C++,为什么在修改新分配的对象后会出现访问冲突?

c++ - 在 OpenGl 中创建模型类

c++ - 通过指针返回值

c++ - 如何设置 CMake 与 clang 交叉编译 Windows 上嵌入的 ARM?

c++ - 如何从 mp3 文件中提取音频数据?

c++ - [C++]在构造函数期间为数组分配大小

c++ - 从 std 命名空间专门化函数模板的想法有多糟糕?

c++ - 在 DirectX9 中将纹理寻址模式设置为边框颜色

c++ - 是否可以在外部定义嵌套匿名命名空间的成员名称?