我尝试了很多方法将字符串修改为int。这包括atoi()和stringstream
但我还是无法转换它。我有一个唯一的数字字符串,我想将其转换为int。
原因是我使用 getch()从用户接收数据并将其存储到字符串缓冲区中,但在某一点上我想将此缓冲区转换为int以供使用。 所以我的字符串就像那样:
string hello = "673";
我想把这个值变成一个整数。 的修改 这不是一个重复的问题,因为我试过 所有这些方法都很多次,现在仍在使用。所有这些只会导致程序崩溃或错误无效转换。
答案 0 :(得分:0)
atoi()应该有效。检查您的字符串是否在前面或其中的某个位置包含非数字字符。你能告诉我们你想要转换成int的确切字符串吗?
答案 1 :(得分:0)
如果是c ++样式字符串,请尝试使用stoi()而不是atoi()。它在C ++字符串类中表现得更好。
答案 2 :(得分:0)
考虑一下: -
#include<iostream>
#include<sstream>
int main(void) {
int value;
std::string str("12345");
std::istringstream ss(str);
ss >> value;
std::cout<<value<<std::endl;
}