C ++,将字符串转换为int

时间:2013-08-04 07:27:34

标签: c++

我尝试了很多方法将字符串修改为int。这包括atoi()和stringstream
但我还是无法转换它。我有一个唯一的数字字符串,我想将其转换为int。

原因是我使用 getch()从用户接收数据并将其存储到字符串缓冲区中,但在某一点上我想将此缓冲区转换为int以供使用。 所以我的字符串就像那样:

string hello = "673";

我想把这个值变成一个整数。 的修改 这不是一个重复的问题,因为我试过 所有这些方法都很多次,现在仍在使用。所有这些只会导致程序崩溃或错误无效转换。

3 个答案:

答案 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;

}