【发布时间】:2021-02-17 13:22:03
【问题描述】:
为什么会这样
int main(int argc, char **argv)
{
cout << argv[1] << "\n";
}
但不是这个
int main(int argc, string *argv)
{
cout << argv[1] << "\n";
}
字符串不只是char*吗?为什么我们可以使用第一个但不能使用后者? char**和string*有什么区别
【问题讨论】:
-
c++ 中没有字符串这样的东西。标准库 string.h 中的字符串是一个帮助库,可以更轻松地处理一系列字符。
-
@NullPointer 在 C++ 中有一个称为字符串的标准库类型。没有什么反对在标准中允许
int main(int argc, std::string *argv)的实现 -
@NullPointer
std::string在<string>中定义,<string.h>是一个 C 头文件(已弃用,但可在 C++ 中使用)并包含处理char*的辅助函数,例如strcmp和strlen。 -
@Yksisarvinen 这或多或少是我所说的?
标签: c++ string pointers char command-line-arguments