我学到了一个辅助函数,可以将字符串转换为整数:
int string_to_int(string s)
{
istringstream instr(s);
int n;
instr>>n;
return n;
}提到参数s不能是c-str字符串,为什么会这样呢?
发布于 2018-02-10 11:28:48
但是你可以传递一个C风格的字符串。
这是因为std::string constructor可以隐式接受CharT* (Char类型,在本例中为char )作为参数。因此,下面这样的代码将会起作用:
#include <iostream>
#include <sstream>
using namespace std;
int string_to_int(string s)
{
istringstream instr(s);
int n;
instr>>n;
return n;
}
int main()
{
const char* test = "12345";
std::cout << string_to_int(test) << "\n"; // Outputs 12345
std::cout << string_to_int("122") << "\n"; // Outputs 122
}https://stackoverflow.com/questions/48716900
复制相似问题