0

目前我正在制作一个应用程序并尝试从文本框中获取一个值并将其转换为整数以供进一步使用。我有以下代码:

System::String^ maxTTL = textBoxMaxTTL->Text; 
std::string bla = marshal_as<std::string>(maxTTL); //System string^ to std::string
int maxTTL2 = std::atoi(bla.c_str());

似乎 maxTTL2 仍然获得了“0”的值。当我使用该stoi参数时,它会引发以下异常: stoi 参数超出范围。有人有解决这个问题的想法吗?

4

2 回答 2

1

我认为你可以这样做:

int i = Int32::Parse(maxTTL);

之后,您将获得 int i。您还可以使用 try 块对代码进行防弹。

于 2013-06-27T11:42:00.193 回答
1

我认为你需要std::stoi(),因为你有一个std::string类型可以转换为int.

是您需要的文档std::stoi()

所以你的行应该是这样的:int maxTTL2 = std::stoi(bla);

于 2013-06-27T11:59:07.257 回答