这个问题其实就是如何将外部参数传入程序的问题,请看如下介绍:将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; }