c++中怎么把字符串转换为整数
时间: 2023-05-12 13:06:45 浏览: 127
可以使用 atoi 函数将字符串转换为整数。例如:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "123";
int num = atoi(str);
printf("%d\n", num);
return 0;
}
```
输出结果为:
```
123
```
相关问题
数据结构把任意一个整数转换为字符串,把字符串转换为整数
1. 把整数转换为字符串:
方法一:可以用 sprintf() 函数,将整数格式化为字符串:
```c++
int num = 123;
char str[10];
sprintf(str, "%d", num);
```
方法二:可以用 stringstream 类,将整数转换为字符串:
```c++
int num = 123;
stringstream ss;
ss << num;
string str = ss.str();
```
2. 把字符串转换为整数:
方法一:可以用 atoi() 函数,将字符串转换为整数:
```c++
char str[] = "123";
int num = atoi(str);
```
方法二:可以用 stringstream 类,将字符串转换为整数:
```c++
string str = "123";
stringstream ss(str);
int num;
ss >> num;
```
c++如何把字符串转为整数
在C++中,将字符串转换为整数可以使用标准库中的`atoi`函数,也可以使用更安全的`std::stoi`函数。
1. 使用`atoi`函数(注意:`atoi`是C语言标准库中的函数,不是C++的标准库函数,但它通常在C++环境中可用):
```cpp
#include <cstdlib> // 包含atoi函数的头文件
#include <iostream>
int main() {
const char* str = "123";
int num = atoi(str);
std::cout << num << std::endl; // 输出:123
return 0;
}
```
`atoi`函数解析C风格字符串为整数,如果转换失败,返回0。
2. 使用`std::stoi`函数:
```cpp
#include <string> // 包含std::string的头文件
#include <iostream>
int main() {
std::string str = "123";
int num = std::stoi(str);
std::cout << num << std::endl; // 输出:123
return 0;
}
```
`std::stoi`函数将字符串转换为整数。如果转换失败,它会抛出`std::invalid_argument`异常(如果字符串不包含任何数字)或`std::out_of_range`异常(如果字符串包含的数字导致整数溢出)。
使用`std::stoi`比`atoi`更安全,因为它提供了异常处理机制。
阅读全文