遇到int main(int argc,char *argv)该如何把程序运行
遇到int main(int argc,char **argv)该怎么把程序运行啊
最近看到int main(int argc,char **argv),不知道他是啥,对于这个程序,我该怎么把它运行成功啊
还有这样做的好处有什么啊,谢谢了
//统计长度不小于4的单词,并输出所有序列中补充付费单词,在程序源文件上运行和测试编的程序
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<fstream>
using namespace std;
bool isShorter(const string &s1,const string &s2)
{
return s1.size()<s2.size();
}
bool GT4(const string&s)
{
return s.size()>=4;
}
string make_plural(size_t ctr,const string &word,const string &ending)
{
return (ctr==1)?word:word+ending;
}
int main(int argc,char **argv)
{
if(argc<2)
{
cerr<<"no input file"<<endl;
return EXIT_FAILURE;
}
ifstream infile;
infile.open(argv[1]);
if(!infile)
{
cerr<<"cant open"<<endl;
return EXIT_FAILURE;
}
vector<string>words;
string word;
while(infile>>word)
words.push_back(word);
sort(words.begin(),words.end());//对输入算法排序一边出去重复的单词
vector<string>::iterator endunique=unique(words.begin(),words.end());
words.erase(endunique,words.end());//删除重复的单词 ;
//带哦用后,words中的元素按长度大小排序,而擦很难过度相同的单词则仍然保持字典顺序
stable_sort(words.begin(),words.end(),isShorter);
//计算并输出长度不小于4的单词数目
vector<string>::size_type wc=count_if(words.begin(),words.end(),GT4);
cout<<wc<<" "<<make_plural(wc,"word","s")
<<"4 chaeactors or longer"<<endl;
for(vector<string>::iterator iter=words.begin();iter!=words.end();iter++)
cout<<*iter<<" ";
cout<<endl;
return 0;
}
------解决方案--------------------
不明白楼主说的“运行成功”是什么意思?返回0?
这样做移植性好,VC支持这种写法,Unix/Linux上的编译器也支持这种写法
------解决方案--------------------
int main(int argc,char **argv) 这要写的话,程序可以用命令行运行程序。
也可以这么写int main(int argc, char* argv[])
具体含义看这个吧:
http://www.cnblogs.com/avril/archive/2010/03/22/1691477.html
最近看到int main(int argc,char **argv),不知道他是啥,对于这个程序,我该怎么把它运行成功啊
还有这样做的好处有什么啊,谢谢了
//统计长度不小于4的单词,并输出所有序列中补充付费单词,在程序源文件上运行和测试编的程序
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<fstream>
using namespace std;
bool isShorter(const string &s1,const string &s2)
{
return s1.size()<s2.size();
}
bool GT4(const string&s)
{
return s.size()>=4;
}
string make_plural(size_t ctr,const string &word,const string &ending)
{
return (ctr==1)?word:word+ending;
}
int main(int argc,char **argv)
{
if(argc<2)
{
cerr<<"no input file"<<endl;
return EXIT_FAILURE;
}
ifstream infile;
infile.open(argv[1]);
if(!infile)
{
cerr<<"cant open"<<endl;
return EXIT_FAILURE;
}
vector<string>words;
string word;
while(infile>>word)
words.push_back(word);
sort(words.begin(),words.end());//对输入算法排序一边出去重复的单词
vector<string>::iterator endunique=unique(words.begin(),words.end());
words.erase(endunique,words.end());//删除重复的单词 ;
//带哦用后,words中的元素按长度大小排序,而擦很难过度相同的单词则仍然保持字典顺序
stable_sort(words.begin(),words.end(),isShorter);
//计算并输出长度不小于4的单词数目
vector<string>::size_type wc=count_if(words.begin(),words.end(),GT4);
cout<<wc<<" "<<make_plural(wc,"word","s")
<<"4 chaeactors or longer"<<endl;
for(vector<string>::iterator iter=words.begin();iter!=words.end();iter++)
cout<<*iter<<" ";
cout<<endl;
return 0;
}
------解决方案--------------------
不明白楼主说的“运行成功”是什么意思?返回0?
这样做移植性好,VC支持这种写法,Unix/Linux上的编译器也支持这种写法
------解决方案--------------------
int main(int argc,char **argv) 这要写的话,程序可以用命令行运行程序。
也可以这么写int main(int argc, char* argv[])
具体含义看这个吧:
http://www.cnblogs.com/avril/archive/2010/03/22/1691477.html