【发布时间】:2013-03-11 17:23:36
【问题描述】:
我有一个读取硬编码文件路径的程序,我想让它从命令行读取文件路径。为此,我像这样更改了代码:
#include <iostream>
int main(char *argv[])
{
...
}
但是,argv[1] 以这种方式暴露的变量似乎是指针类型,我需要它作为字符串。我应该怎么做才能将此命令行参数转换为字符串?
【问题讨论】:
-
main的规范格式是int main(int argc, char *argv[])。你所拥有的将编译,但它会导致未定义的行为。 -
我不需要 arg 计数,只需要表示第一个参数的字符串。
-
hmm..
std::string s(argv[1]);这是你想做的吗? -
@theta:没关系;还是不行。
-
“当我在命令行上使用程序时,它会引发错误。” -- 随意更具体一点。
标签: c++