C++如何将string转换为int?
时间: 2024-05-15 17:15:09 浏览: 114
C++中将string类型转化为int类型
可以使用C语言中的函数`atoi()`或者`strtol()`将string转换为int。
1. `atoi()`函数:
```c
#include <stdlib.h>
int atoi(const char *str);
```
示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[] = "12345";
int num = atoi(str);
printf("string: %s\n", str);
printf("int: %d\n", num);
return 0;
}
```
运行结果:
```
string: 12345
int: 12345
```
2. `strtol()`函数:
```c
#include <stdlib.h>
long int strtol(const char *str, char **endptr, int base);
```
示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[] = "12345";
char *endptr;
long int num = strtol(str, &endptr, 10);
printf("string: %s\n", str);
printf("int: %ld\n", num);
return 0;
}
```
运行结果:
```
string: 12345
int: 12345
```
其中,`endptr`是一个指针,指向第一个不能被转换为数字的字符的位置。在本例中,由于所有字符都能被转换为数字,因此`endptr`指向了字符串的末尾。如果字符串不能被完全转换为数字,则`endptr`指向不能被转换的第一个字符。例如,如果`str`为"123abc",则`endptr`指向字符'a'的位置。
阅读全文