【问题标题】:invalid cast from basic string to int type [duplicate]从基本字符串到int类型的无效转换[重复]
【发布时间】:2019-02-23 15:26:45
【问题描述】:

从基本字符串类型到整数类型的类型转换出现错误,对于向量字符串和整数类型的向量,我不知道如何解决。

下图显示错误

s1[j]+=int(magazine[i]);

【问题讨论】:

标签: c++ string c++11 casting


【解决方案1】:

你不能将字符串转换为整数。但是,你可以使用 stoi() 获取字符串数值,然后将其分配给整数:

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

int main() 
{ 
    string str1 = "45"; 
    string str2 = "3.14159"; 
    string str3 = "31337 geek"; 

    int myint1 = stoi(str1); 
    int myint2 = stoi(str2); 
    int myint3 = stoi(str3); 

    cout << "stoi(\"" << str1 << "\") is "
         << myint1 << '\n'; 
    cout << "stoi(\"" << str2 << "\") is "
         << myint2 << '\n'; 
    cout << "stoi(\"" << str3 << "\") is "
         << myint3 << '\n'; 

    return 0; 
} 




Output:

stoi("45") is 45
stoi("3.14159") is 3
stoi("31337 geek") is 31337

还有其他方法,例如使用 stringstream,您可能想看看。希望它有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多