C++编译生成的exe文件如何在命令行调用一个txt文件

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:20:23
就是想让生成的exe在命令行运行时读取某个txt(运行:*.exe *.txt),源代码该怎么写?

这个问题其实就是如何将外部参数传入程序的问题,请看如下介绍:

将main()函数的头部写成如下形式:

int main(int argc,char *argv[])
{
....
}

这样,就可以用命令行的方式将参数传递给程序,就像你写的那样(假设生成的exe文件名为a.exe):

a.exe 1.txt

这样,"1.txt"这个字符串便被保存在argv[1]字符数组中,而"a.exe"则被保存在argv[0]中,而argc则保存了包括程序文件名在内的所有参数的数量。这样便可以在程序中用fopen()等函数打开1.txt文件或者进行其它的操作了。

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

int main( int nCount, char **sz )
{
if( nCount < 1 )
{
cerr<<"参数错误"<<endl;
return -1;
}

ifstream ifs( sz[1] );
if( ifs.fail() )
{
cerr<<"打开文件失败"<<endl;
return -1;
}
string ss( (istreambuf_iterator< char >( ifs )) , istreambuf_iterator< char >() );
ifs.close();

cout<<ss<<endl;

return 0;
}