从c ++中的字符串中获取整数值

时间:2014-07-24 14:54:06

标签: c++ string parsing integer

我正在尝试学习c ++,而对于作业,我遇到了一个问题。我试图从一个用户在一行输入的字符串中获取一个整数值。

Ex。)用户输入:“将值更改为15。”

从该字符串获取15的最佳方法是什么?我已经看了一会儿,但只能找到一个字符串只是整数。

提前致谢!

2 个答案:

答案 0 :(得分:2)

为什么不使用getline的混合(抓取你的整行)和字符串流(标记化输入)并将它们全部放在一个向量中(比数组更容易使用),在.size() - 1处获取一个并做了一个atoi。可能有点矫枉过正,但字符串流可以做你想要的。对于一个小小的tut,这可以帮助http://www.dreamincode.net/forums/topic/95826-stringstream-tutorial/

答案 1 :(得分:0)

这可能不是最好的方法,但现在可以使用strtok来标记输入字符串,然后检查整数值整数的标记。其中一个答案[link]建议使用strtok来标记字符串。

如果您知道字符串的格式或知道总会有一个整数值,那么您可以使用string :: find_first_of和string :: find_last_of [link]然后只需获取子字符串并使用串:: Stoi旅馆。