【发布时间】:2020-02-27 18:01:31
【问题描述】:
我制作了一个非常简单的 C++ 程序,它创建了一个 .sav 文件,其中写有“嘿”。当我在 Visual Studio 2019 中运行该程序时,它运行良好,但是在我的计算机上部署我的程序后,当我启动部署的 .exe 文件时,它什么也没做。
我在 Windows 10 上使用 Visual Studio 2019。我的程序和我的安装文件都设置为发布和 x86 模式,我的程序设置为静态链接(我将程序的运行时库更改为 Multi -线程(/MT))。 我按照本文的说明部署了我的项目:https://docs.microsoft.com/en-us/cpp/ide/walkthrough-deploying-your-program-cpp?view=vs-2019
在构建安装文件并启动创建的 .msi 安装程序后,安装的程序甚至不会在启动后创建 .sav 文件。
这是我的代码:
#include <fstream>
int main()
{
std::ofstream Yes;
Yes.open("Sc.sav");
Yes << "Hey" << std::endl;
Yes.close();
return 0;
}
我做错了什么?
提前致谢。
【问题讨论】:
-
您是否有权(您是管理员)将文件保存在特定文件夹下?
cerr << "Error: " << strerror(errno);会打印什么? -
在写入文件之前,您没有检查
open()是否成功。而且您使用的是相对文件路径,因此文件可能不会在您期望的位置创建。 -
它在已发布和在 Visual Studio 程序中打印“错误:无错误”。
-
部署的程序以管理员身份运行良好!但是如何在不始终以管理员身份运行程序的情况下使其工作?
-
创建一个快捷方式以使用非管理员用户可以实际写入的当前目录运行此应用程序,例如
C:\Users\%username%\Documents
标签: c++ visual-c++ ofstream setup-deployment