我有一个使用以下内容的 Windows 窗体应用程序
ofstream myfile;
myfile.open("foo.csv");
myfile << "whatever";
myfile.close()
该文件很好地输出到我的计算机上,进入应用程序所在的同一目录(编译后自动释放文件夹)。但是,如果我将应用程序移动到计算机上的另一个位置,或者在使用 Windows 设置文件分发它时移动到目标计算机上,则无法输出文件。有谁知道如何做到这一点?
我有一个使用以下内容的 Windows 窗体应用程序
ofstream myfile;
myfile.open("foo.csv");
myfile << "whatever";
myfile.close()
该文件很好地输出到我的计算机上,进入应用程序所在的同一目录(编译后自动释放文件夹)。但是,如果我将应用程序移动到计算机上的另一个位置,或者在使用 Windows 设置文件分发它时移动到目标计算机上,则无法输出文件。有谁知道如何做到这一点?
它应该在任何计算机上都可以正常工作。
两个可能的原因:
1) 发生错误,导致无法写入文件,或
2) 文件未写入您期望的位置
绝对检查错误。例如:
std::ofstream outFile("foo.csv");
if (!outFile)
{
// Open failed - take error handling action.
}
附录:这将打印错误消息:
std::ofstream outFile("foo.csv");
if (!outFile)
{
// Open failed - take error handling action.
cout << "error reading file foo.csv" << " error: " << strerror(errno) << endl;
}