如上图,编程语言为C++,我希望用下图的方式来运行,就是把文本文件拖动到可执行文件上,让它输出内容。
但是这样做并没有达到预期的效果,程序什么都没有显示,这样做是不是没有将文件流重定向到程序呢?
然而如果使用命令提示符中的重定向操作符,就能得到正确的结果
求大神,程序该怎么改?
如何把一个文件拖动到另一个文件上运行
答案:2 悬赏:50 手机版
解决时间 2021-03-08 22:54
- 提问者网友:無理詩人
- 2021-03-08 02:29
最佳答案
- 五星知识达人网友:零点过十分
- 2021-03-08 03:38
这就要用到 main 函数的参数了
#include
int main(int argc,char** argv) {
auto pcin = &std::cin;
if (argc == 2) {
std::ifstream in(argv[1]);
pcin = &input;
}
{
using namespace std;
auto& cin = *pcin;
// 下面是照抄原本的 main 函数
char ch;
cin.get(ch);
while (cin.fail() == false) {
cout << ch;
cin.get(ch);
}
cin.get();
return 0;
}
}
#include
int main(int argc,char** argv) {
auto pcin = &std::cin;
if (argc == 2) {
std::ifstream in(argv[1]);
pcin = &input;
}
{
using namespace std;
auto& cin = *pcin;
// 下面是照抄原本的 main 函数
char ch;
cin.get(ch);
while (cin.fail() == false) {
cout << ch;
cin.get(ch);
}
cin.get();
return 0;
}
}
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-03-08 03:58
在你原来的批处理文件里开始处加上一些代码就可以了,如下:
rem 以下是添加在批处理文件开始的地方
@echo off
echo %1
cd %1
rem 以下是你原来的批处理代码
rem 。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯