C++怎么使用命令行参数读取文件,即文件应该放在哪?在主函数中怎么传入路径?下面是我写的一个测试程序,

我把文件与cpp文件放在了一起,不能执行,求高手解答!!!!#include<iostream>#include<string>#include<fstream>usin... 我把文件与cpp文件放在了一起,不能执行,求高手解答!!!!
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main(int argc , char *argv[])
{
ifstream file1,file2;
file1.open(argv[1]);
string s;
while(!file1.eof())
file1>>s;
cout<<s<<endl;
file1.close();
file2.open(argv[2]);
while(!file1.eof())
file2>>s;
file2.close();
cout<<s<<endl;
system("pause");
return 0;

}
展开
 我来答
沧海雄风2009
2011-12-17 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2806万
展开全部
我调试过了 只有一处错误

使用方法 这个文件编译后的exe 假设叫 test.exe

那么 如果要读 1.txt 和 2.txt 那么 先要进入CMD(在运行里输入CMD回车)

不是你常用的控制台 虽然也是黑窗口

转到 test.exe所在目录 输入 test.exe 1.txt 2.txt 回车 就可以运行了 如果有路径 那么输入路径

有什么问题继续问 不行了远程协助

D:\Backup\我的文档\MyProjects\XLCS\20111217\Debug>20111217 1.txt 2.txt
1.txt内容
2.txt内容
请按任意键继续. . .

#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main(int argc , char *argv[])
{
ifstream file1,file2;
file1.open(argv[1]);
string s;
while(!file1.eof())
file1>>s;
cout<<s<<endl;
file1.close();

file2.open(argv[2]);
while(!file2.eof()) //这里的 file2 手误成file1了
file2>>s;
file2.close();
cout<<s<<endl;
system("pause");
return 0;
}
更多追问追答
追问
什么意思,我不是很懂,我编译后并没有可执行的exe文件,而且从file1.open(argv[1]);
就开始出错
追答
这种从main函数传参数的不能在VC6下运行

只能在VC6下连接 编译

编译好了用我上面说的方法运行
runforrestcz
2011-12-17 · TA获得超过461个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:169万
展开全部
int main(int argc , char *argv[]这个函数是要调用才能运行的, argc是指函数的输入参数的个数, argv指向字符串指针的指针,这是实际的输入参数的指针, 你可以自己百度一下windows下使用DOS环境调用函数,很简单的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e8268a2
2011-12-17 · TA获得超过145个赞
知道答主
回答量:88
采纳率:0%
帮助的人:71.1万
展开全部
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main(int argc , char *argv[])
{
ifstream file1,file2;
file1.open(argv[0],ios::out);//这里改改
string s;
while(!file1.eof())
file1>>s;
cout<<s<<endl;
file1.close();
file2.open(argv[1],ios::out);//这里改改

while(!file1.eof())
file2>>s;
file2.close();
cout<<s<<endl;
system("pause");
return 0;

}
追问
不行,一样是错误的,再说不应该从argv[1]开始读吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨断情
2011-12-17 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:76.2万
展开全部
mian()函数是不能被其他函数调用的,但是 计算机的 操作系统 可以调用主函数。
具体方法:把源程序编译并链接后的可执行文件和要合并的CPP文件复制到D盘->将可执行文件重命名为mycomm.exe->打开命令提示符窗口->输入d:回车->然后输入 mycomm file1.cpp file2.cpp 回车->完毕 如果你的程序逻辑没错误 应该是能达到预期功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式