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;
}