21xrx.com
2024-12-22 21:15:37 Sunday
登录
文章检索 我的文章 写文章
C++字符串转整数操作指南
2023-07-13 04:38:54 深夜i     --     --
C++ 字符串 转换 整数 操作指南

C++是一种强大的编程语言,其内置了很多函数可以用来处理字符串。其中一个基本的操作就是将字符串转换为整数。在本文中,我们将介绍如何使用C++中的函数来完成这个任务。

首先,C++中最常用的转换函数是stoi(),这个函数将字符串转换为整数类型。这个函数接收一个string类型参数,即需要转换为整数的字符串。在下面的例子中,我们将使用stoi()函数将字符串"123"转换为整数类型:


#include <iostream>

#include <string>

using namespace std;

int main() {

 string str = "123";

 int num = stoi(str);

 cout << num << endl;

 return 0;

}

上面的代码片段将输出整数123。

如果要将字符串转换为长整数类型,则需要使用stol()函数。这个函数的用法和stoi()函数类似,只是将结果存储为long类型数据。下面的示例演示了如何将字符串"1234567890123456789"转换为长整数类型:


#include <iostream>

#include <string>

using namespace std;

int main() {

 string str = "1234567890123456789";

 long num = stol(str);

 cout << num << endl;

 return 0;

}

另一个有用的函数是stod(),它可以将字符串转换成浮点型数据。与其他函数一样,stod()也接受一个字符串作为参数。下面是一个将字符串"3.14"转换为浮点型数据的例子:


#include <iostream>

#include <string>

using namespace std;

int main() {

 string str = "3.14";

 double num = stod(str);

 cout << num << endl;

 return 0;

}

当然,并不是所有的字符串都可以被转换成数字。如果将一个非数字字符串传递给以上的函数,会导致程序出错并抛出异常。因此,在使用这些函数之前,一定要确保传入的字符串是一个数字型字符串。

另外,如果字符串已经包含了十进制数字型前缀( 0x、0X 或者 0),可使用stoi()的第二个参数指定将其识别为十六进制数、八进制数或十进制数。如果第二个参数为空,则默认将其识别为十进制数。下面是演示如何将十六进制数"0x1f"转换为十进制数的实例:


#include <iostream>

#include <string>

using namespace std;

int main() {

 string str = "0x1f";

 int num = stoi(str, nullptr, 16);

 cout << num << endl;

 return 0;

}

以上就是C++字符串转整数操作指南的内容。这些函数是C++处理数字型字符串时非常有用的工具。我们希望这篇文章可以帮助读者更好地理解这些函数的用法。

  
  

评论区

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