相关疑难解决方法(0)

如何从std :: vector <char>构造一个std :: string?

缺少(显而易见的)构建C样式字符串然后使用它来创建std :: string,是否有更快/替代/"更好"的方式来从字符向量初始化字符串?

c++

108
推荐指数
5
解决办法
10万
查看次数

在c ++中使用atoi()函数

当我string在下面的代码中传递一个变量时,g ++给出了一个错误:

不能将'std :: __ cxx11 :: string {aka std :: __ cxx11 :: basic_string}'转换为'const char*'以将参数'1'转换为'int atoi(con​​st char*)'

我的代码是:

#include<iostream>
#include<stdlib.h>
using namespace std;

int main()
{
    string a = "10";
    int b = atoi(a);
    cout<<b<<"\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将代码更改为:

#include<iostream>
#include<stdlib.h>
using namespace std;

int main()
{
    char a[3] = "10";
    int b = atoi(a);
    cout<<b<<"\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好.

请解释为什么string不起作用.有什么区别string achar a[]

c++ atoi

-2
推荐指数
1
解决办法
3万
查看次数

标签 统计

c++ ×2

atoi ×1