gpt4 book ai didi

c++ - 控制台应用程序的 Windows 拖放问题

转载 作者:可可西里 更新时间:2023-11-01 14:20:21 31 4
gpt4 key购买 nike

我有一个创建文件并使用 ofstream 写入文件的程序。我需要程序能够稍后解析命令行参数。但出于某种原因,当我将文件拖放到已编译的可执行文件上时,它不会创建文件,即使该程序根本不涉及任何命令行参数。如果可执行文件正常运行,它就可以工作。所以我完全糊涂了。这是来源:

#include <iostream>
#include <fstream>
using namespace std;

int main ()
{
ofstream outfile;
outfile.open("test.txt");

if(outfile.is_open())
{
outfile << "Test";
outfile.close();
}
else cout << "Unable to open file";

return 0;
}

有人有什么想法吗?感谢您的帮助。

最佳答案

您根本没有使用命令行参数。将您的 main() 方法重新编码为如下所示:

int main(int argc, char** argv)
{
if (argc != 2)
{
cout << "Usage: blah.exe file" << endl;
return 1;
}
ofstream outfile;
outfile.open(argv[1]);
if(outfile.is_open())
{
outfile << "Test";
outfile.close();
}
else cout << "Unable to open file";
return 0;
}

小心你丢弃的东西,你的代码会重写文件内容。

关于c++ - 控制台应用程序的 Windows 拖放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2129043/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com