c++ string 字面值与 int 互转的几种方法
发布网友
我来回答
共1个回答
热心网友
c++ string 字面值与 int 互转的方法
在C++中,字符串(string)与整数(int)的相互转换有多种方式。以下是主要的方法:
1. 从string到int
使用 atoi 函数: 这是C语言的函数,但C++中可用其基础功能。例如:int num = atoi("123");
strtol 函数: 更高级的选项,如 int num = strtol("123", nullptr, 10);,它允许指定进制(这里是10进制)。
从C++11开始的 stoi 函数: int num = stoi("123");,更简洁,无需额外头文件。
stringstream: 通过构造一个流并调用 >>运算符,如 stringstream ss; ss << "123"; int num = ss.str().stoi();
2. 从int到string
sprintf_s: C++中无此函数,但C中可用,适用于C++兼容性。
stringstream: 通过 stringstream ss; ss << 123; string str = ss.str(); 或 to_string 函数,如 string str = to_string(123); (C++11及以上)。