21xrx.com
2024-11-05 17:33:22 Tuesday
登录
文章检索 我的文章 写文章
C++中字符串转整型的方法
2023-06-23 22:13:28 深夜i     --     --
C++ 字符串 转换 整型 方法

在C++中,将字符串转换为整数是一个常见的操作。这个操作可以通过各种方法实现,包括atoi函数、sscanf函数和使用标准库中的stoi函数。本文将介绍这三种方法。

1. 使用atoi函数

atoi函数是C++标准库中的函数,它可以将一个字符串转换为整数。它的原型如下:


int atoi(const char* str);

该函数接受一个指向字符串的指针,并将字符串转换为一个整数。如果字符串不是一个有效的整数格式,则返回0。例如:


#include <cstdlib>

#include <iostream>

using namespace std;

int main(){

  char str[] = "123";

  int num = atoi(str);

  cout << num << endl;

  return 0;

}

上述代码将输出123,因为它将字符串"123"转换为整数123。

2. 使用sscanf函数

sscanf函数也可以将一个字符串转换为整数。它的原型如下:


int sscanf(const char* str, const char* format, ...);

该函数接受两个参数,第一个参数是一个指向字符串的指针,第二个参数是一个格式化字符串。sscanf函数根据格式化字符串中的指示符,将字符串中的内容转化为指定的类型。例如:


#include <cstdio>

#include <iostream>

using namespace std;

int main(){

  char str[] = "123";

  int num;

  sscanf(str, "%d", &num);

  cout << num << endl;

  return 0;

}

上述代码的输出结果也是123。

3. 使用stoi函数

C++11引入了一个新函数stoi,可以将一个字符串转换为一个整数。stoi函数的原型如下:


int stoi(const string& str, size_t* pos=0, int base=10);

该函数接受一个字符串参数,并返回一个整数。如果字符串不是一个有效的整数格式,则会抛出一个异常。例如:


#include <iostream>

#include <string>

using namespace std;

int main(){

  string str = "123";

  int num = stoi(str);

  cout << num << endl;

  return 0;

}

上述代码的输出结果也是123。

总结

以上是C++中将字符串转换为整数的三种方法。这些方法可以操作不同数据类型的字符串,但是stoi是最新的也是最安全的方法。根据需要选取任何一种方法都可以满足我们的需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复