How to parse a string to an int in C++?

前端 未结 17 1710
忘了有多久
忘了有多久 2020-11-21 11:01

What\'s the C++ way of parsing a string (given as char *) into an int? Robust and clear error handling is a plus (instead of returning zero).

17条回答
  •  情书的邮戳
    2020-11-21 12:06

    In the new C++11 there are functions for that: stoi, stol, stoll, stoul and so on.

    int myNr = std::stoi(myString);
    

    It will throw an exception on conversion error.

    Even these new functions still have the same issue as noted by Dan: they will happily convert the string "11x" to integer "11".

    See more: http://en.cppreference.com/w/cpp/string/basic_string/stol

提交回复
热议问题