在C++中将字符串转换为int

use*_*947 0 c++ string integer

我有一根绳子,xxxxxxxxxxxxxxxxxxx

我正在将字符串读入较小字符串的结构,并使用 substr 来解析它。我需要将其中一种字符串类型转换为整数。

atoi不适合我。我该怎么做?它说:

无法将 std::string 转换为 const char*

代码

#include <iostream>
#include <string>

using namespace std;

void main();
{
    string s = "453"

    int y = atoi(S);
}
Run Code Online (Sandbox Code Playgroud)

her*_*tao 6

std::atoi()需要const char *传入。

将其更改为:

int y = atoi(s.c_str());
Run Code Online (Sandbox Code Playgroud)

或者使用std::stoi()它可以直接传递string:

int y = stoi(s);
Run Code Online (Sandbox Code Playgroud)

您的程序还有其他几个错误。可行的代码可能是这样的:

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string s = "453";
    int y = atoi(s.c_str());
    // int y = stoi(s); // another method
}
Run Code Online (Sandbox Code Playgroud)