在 C++ 中将字符串转换为整数

2025年3月21日 | 阅读 6 分钟

本节将讨论在 C++ 编程语言中将给定字符串数据转换为整数的不同方法。在某些情况下,我们需要将某种数据转换为另一种类型,其中一种情况就是将字符串转换为整数数据进行编程。

例如,我们有一个数字字符串 "143",我们想将其转换为数字类型。我们需要使用一个函数将字符串转换为整数,并返回数字数据 143。现在,我们将学习每种有助于在 C++ 编程语言中将字符串数据转换为整数的方法。

Convert string to integer in C++

在 C++ 编程语言中将字符串数据转换为整数的不同方法。

  1. 使用 stringstream 类
  2. 使用 stoi() 函数
  3. 使用 atoi() 函数
  4. 使用 sscanf() 函数

使用 stringstream 类

stringstream 是一个用于将数字字符串转换为 int 类型的类。stringstream 类声明一个流对象以插入字符串作为流对象,然后根据流提取转换后的整数数据。stringstream 类有 "<<" 和 ">>" 运算符,分别用于从 "<<" 运算符获取数据和通过将流传递给 ">>" 左运算符来插入数据。

让我们创建一个程序来演示 stringstream 类在 C++ 编程语言中将字符串数据转换为整数。

Program1.cpp

输出

The string value is: 143
 The representation of the string to integer type data is: 143	

在上面的程序中,我们使用 stringstream 类创建一个 obj 对象,它有助于将字符串数据转换为整数。然后我们使用 "<<" 运算符将字符串字符插入到 obj 对象中,然后我们使用 ">>" 运算符从 obj 中提取转换后的字符串到数字数据中。

使用 sscanf() 函数

sscanf() 函数将给定字符串转换为指定的数据类型(如整数)。

语法

sscanf() 函数有三个参数来指定 char 字符串 (str)、数据说明符 (%d) 和整数变量 (&intvar) 以存储转换后的字符串。

sscanf() 函数的算法

  1. sscanf() 函数属于 stringstream 类,因此我们需要将该类导入到我们的程序中。
  2. 初始化一个常量字符字符串 str。
  3. 创建一个整数变量来保存转换后的字符串到整数值。
  4. 将字符串变量传递给 sscanf() 函数,并将 sscanf() 函数赋值给整数变量以存储该函数生成的整数值。
  5. 打印整数值。

让我们考虑一个使用 sscanf() 函数将字符串转换为 C++ 中数字的示例。

Program2.cpp

输出

The value of the character string is: 555
 The representation of string to int value of numdata is: 555

 The value of the character string is: 143
 The representation of string to int value of numdata is: 143

 The value of the character string is: 101
 The representation of string to int value of numdata is: 101

使用 stoi() 函数

stoi() 函数通过将字符串作为参数传递来将字符串数据转换为整数类型,从而返回一个整数值。

语法

stoi() 函数包含一个 str 参数。str 字符串在 stoi() 函数内部传递,以将字符串数据转换为整数值。

stoi() 函数的算法

  1. 初始化字符串变量以存储字符串值。
  2. 之后,它创建一个整数类型变量,该变量使用 stoi() 函数存储字符串到整数类型数据的转换。
  3. 打印整数变量值。

让我们创建一个程序来使用 stoi() 函数在 C++ 编程语言中将字符串值转换为整数类型。

Program3.cpp

输出

The conversion of string to an integer using stoi("108") is 108
 The conversion of string to an integer using stoi("56.78") is 56
 The conversion of string to an integer using stoi("578 Welcome") is 578

使用 atoi() 函数

atoi() 函数用于将字符字符串转换为整数值。atoi() 函数传递字符类型字符串以返回整数数据。

语法

atoi() 函数的算法

  1. 初始化一个指针类型的字符数组来存储字符串。
  2. 之后,它创建一个整数类型变量,该变量使用 atoi() 函数存储字符串到整数类型数据的转换。
  3. 打印整数变量值。

让我们创建一个程序来使用 atoi() 函数在 C++ 编程语言中将字符串值转换为整数类型。

Program4.cpp

输出

The conversion of string to an integer value using atoi("256") is 256
 The conversion of string to an integer value using atoi("16.18") is 16
 The conversion of string to an integer value using atoi("1088 Good Bye") is 1088