注册 登录
编程论坛 C++教室

关于命令行参数的问题,求秒杀!

晴天一阵 发布于 2011-10-13 14:55, 882 次点击
#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
int main(int argc,char *argv[])
{
    int number[9]={11,22,33,44,55,66,77,88,99};
    if(argc!=3)
    {
        cout<<"argc="<<argc<<endl;
        cout<<"error in argument"<<endl;
        exit(1);
    }//应该是这里的问题吧,
    ofstream fout1,fout2;
    fout1.open(argv[1]);
    if(fout1.fail())
    {
        cout<<"could not open the file"<<argv[1]<<endl;
        exit(1);
    }
    fout2.open(argv[2]);
    if(fout2.fail())
    {
        cout<<"could not open the file"<<argv[2]<<endl;
        exit(1);
    }
    for(int i=0;i<9;i++)
    {
        if(number[i]%2==0)
            fout2<<number[i]<<" ";
        else
            fout1<<number[i]<<" ";
    }
    fout1.close();
    fout2.close();
    ifstream fin;
    char ch;
    for(int i=1;i<argc;i++)
    {
        fin.open(argv[i]);
        cout<<"contents of"<<argv[i]<<endl;
        do
        {
            fin.get(ch);
            cout<<ch;
        }
        while(fin);
        cout<<"\n\n";
        fin.close();
    }
    return 0;
}
7 回复
#2
pangding2011-10-13 21:35
有什么问题。描述的不是很清楚呀……
#3
晴天一阵2011-10-13 21:46
回复 2楼 pangding
运行结果只有:error in argument
#4
晴天一阵2011-10-13 21:48
回复 2楼 pangding
麻烦您运行一下看看,
#5
mengcan5552011-10-13 23:01
这个程序要在命令提示符下输入,带着文件名共3的字符串就行了
#6
mengcan5552011-10-13 23:24
还有 fin要定义两个,不能用 for  循环
#7
lucky5635912011-10-14 08:13
传入参数不对
#8
pangding2011-10-15 10:01
就是程序执行的时候要给参数。你去查查 main 参数之类的,也许能查到一些有用的东西。
如果你不会,也可以改改程序的执行流程,让你手动输入文件名。或者你如果只是想试试程序的话,也可以把文件名暂时先编进源码里。
1