传入string作为命令行参数

时间:2017-09-22 17:51:55

标签: c++ command-line

我正在写一个制作单词阶梯的程序。后一个词是从单词A到单词B的路径。例如

头 - >治愈 - >青色 - >告诉 - >高 - >尾

在我的主文件中,我应该传递这些命令行参数:.txt文件的文件名,包含字典,起始字,结束字以及允许获取的步数从a到b。我假设你只是将参数放在main上,但它不起作用。我有

int main(int argc, char* argv[], string start, string end, int steps)
{
     return 0;
}

当我尝试编译时,它给了我两个警告。第一个想要我的字符串是char **。第二个说它只需要零到两个参数。

如何从命令行传入文件名,两个字符串和一个整数?

1 个答案:

答案 0 :(得分:1)

main的第一个参数是命令行上的参数数量。

第二个参数是指向参数文本(C样式字符数组)的指针数组。

如果按如下方式执行程序:

homework1.exe dictionary.txt alpha eclipse 25

参数count变量将包含5(包括程序名称)。 这是指针数组的样子:

[0] "homework1.exe"  
[1] "dictionary.txt"
[2] "alpha"
[3] "eclipse"
[4] "25"
[5] nullptr

请注意,步数将采用文本格式,您需要将文本格式转换为内部格式。一种转换方法是使用std::istringstream