C++中int如何转为const string
时间: 2023-09-18 19:14:35 浏览: 164
在C语言中,int类型不能直接转换为string类型,需要使用sprintf()函数将int类型的值格式化为char类型字符串,然后再将char类型字符串转换为const string类型。
以下是示例代码:
```c
int num = 123;
char str[10];
sprintf(str, "%d", num); //将整型num转换为char类型字符串
const string s(str); //将char类型字符串转换为const string类型
```
相关问题
c++ int数组转为string
在C++中,将整数数组转换为字符串可以使用标准库提供的`std::to_string()`函数配合迭代器来逐个元素转换。这里是一个简单的示例:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
std::string intArrayToString(const int arr[], size_t size) {
std::stringstream ss;
for (size_t i = 0; i < size; ++i) {
ss << arr[i] << " "; // 如果每个元素之间需要分隔,这里可以添加逗号或空格等
}
return ss.str(); // 返回转换后的字符串
}
int main() {
int array[] = {1, 2, 3, 4, 5};
size_t array_size = sizeof(array) / sizeof(array[0]);
std::string strArray = intArrayToString(array, array_size);
std::cout << "Int array as string: " << strArray << std::endl;
return 0;
}
```
在这个例子中,`intArrayToString`函数接受一个整数数组和它的大小,然后通过循环遍历数组,并使用`std::to_string(arr[i])`将每个整数转换为字符串形式,最后将所有字符串连接成一个。
C++ STRING转为int
在C++中,将`std::string`类型的数字转换为`int`可以使用`stoi`函数,它位于头文件`<string>`中。这里有一个基本的例子:
```cpp
#include <string>
#include <iostream>
int stringToInt(std::string str) {
try {
return std::stoi(str);
} catch (const std::invalid_argument& e) {
std::cerr << "无法转换,因为" << str << "不是一个有效的整数." << std::endl;
return -1; // 或者抛出异常,取决于错误处理策略
} catch (const std::out_of_range& e) {
std::cerr << "数值超出范围,因为" << str << "太大了." << std::endl;
return INT_MAX; // 或者INT_MIN,视情况而定
}
}
int main() {
std::string numStr = "12345";
int num = stringToInt(numStr);
if (num != -1) {
std::cout << "字符串 " << numStr << " 转换为 int 后是: " << num << std::endl;
}
return 0;
}
```
这个函数首先尝试将`str`转换为`int`,如果输入是无效的字符串(比如包含非数字字符),就会抛出异常,并捕获这些异常提供适当的错误消息。
阅读全文