C++string 转 int
时间: 2023-09-04 20:04:07 浏览: 99
### 回答1:
C++ 中可以使用 `stoi()` 函数将字符串转换为整数。例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "123";
int num = stoi(str);
cout << num << endl; // 输出 123
return 0;
}
```
如果字符串无法转换为整数,`stoi()` 函数会抛出 `invalid_argument` 异常。可以使用 `try-catch` 语句来处理异常。例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "abc";
try {
int num = stoi(str);
cout << num << endl;
} catch (const invalid_argument& e) {
cout << "无法转换为整数" << endl;
}
return 0;
}
```
### 回答2:
C语言中可以使用atoi函数将一个C string转换成整数。
atoi函数的原型为:
int atoi(const char * str);
该函数接收一个指向C string(以null结尾的字符数组)的指针,并将该字符串转换成相应的整数。
例如,假设有一个C string变量str,其中存储的是数字"1234",可以使用atoi函数将其转换成整数:
int num = atoi(str);
函数返回的num变量将保存转换后的整数值。在上述例子中,num的值将为1234。
需要注意的是,如果C string中的内容不是合法的整数,atoi函数将返回0。因此,在使用atoi函数之前,需要确保传入的C string中只包含合法的数字字符。
此外,C语言还提供了其他一些函数来将C string转换成整数,例如sscanf函数和strtol函数。每个函数的应用场景和用法可能略有不同,具体使用哪个函数取决于实际需求。
### 回答3:
C 语言中将字符串转换为整数需要使用标准库函数`atoi()`或者`sscanf()`。
1. `atoi()`: `atoi()`函数将字符串转换为相应的整数。它的使用方法如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345";
int num = atoi(str);
printf("转换后的整数为:%d\n", num);
return 0;
}
```
输出结果为: `转换后的整数为:12345`。
2. `sscanf()`: `sscanf()`函数可以根据指定的格式从字符串中读取相应的数据,并将其转换为整数。使用方法如下:
```c
#include <stdio.h>
int main() {
char str[] = "56789";
int num;
sscanf(str, "%d", &num);
printf("转换后的整数为:%d\n", num);
return 0;
}
```
输出结果为: `转换后的整数为:56789`。
以上两种方法都可以将字符串转换为整数。值得注意的是,如果字符串不能正确转换为整数,这两个函数将返回0。另外,`sscanf()`函数还可以根据不同的格式读取更复杂的数据类型。
阅读全文