C++ 字符串string和整数int的互相转化操作

 更新时间:2020年12月09日 16:28:41   作者:na_beginning  
这篇文章主要介绍了C++ 字符串string和整数int的互相转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一、string转int的方式

1、采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了。

2、采用标准库中atoi函数。

string s = "12";

int a = atoi(s.c_str());

对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等。

3、采用sstream头文件中定义的字符串流对象来实现转换。

istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串
int i;
is >> i; //从is流中读入一个int整数存入i中

二、int转string的方式

1、采用标准库中的to_string函数。

int i = 12;

cout << std::to_string(i) << endl;

不需要包含任何头文件,应该是在utility中,但无需包含,直接使用,还定义任何其他内置类型转为string的重载函数,很方便。

2、采用sstream中定义的字符串流对象来实现。

ostringstream os; //构造一个输出字符串流,流内容为空
int i = 12;
os << i; //向输出字符串流中输出int整数i的内容
cout << os.str() << endl; //利用字符串流的str函数获取流中的内容

字符串流对象的str函数对于istringstream和ostringstream都适用,都可以获取流中的内容。

补充知识:C++ 将整数、浮点数转为字符串

前言:

用 sprintf可以把整数、浮点数转为字符串。

1、整数

int main(int argc, const char * argv[]) {
  int n = 12345;//待转整数
  char strN[50];//转换后的字符串
  sprintf(strN, "%d", n);
  cout<<strN<<endl;//输出
  return 0;
}

结果:

2、浮点数

int main(int argc, const char * argv[]) {
  float n = 12345.67;//待转整数
  char strN[50];//转换后的字符串
  sprintf(strN, "%.2f", n);
  cout<<strN<<endl;
  return 0;
}

结果:

以上这篇C++ 字符串string和整数int的互相转化操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言变长数组 struct中char data[0]的用法详解

    C语言变长数组 struct中char data[0]的用法详解

    下面小编就为大家带来一篇C语言变长数组 struct中char data[0]的用法详解。小编觉得挺不错的现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • C语言中volatile关键字的深入讲解

    C语言中volatile关键字的深入讲解

    在程序设计中,尤其是在C语言、C++、C#和Java语言中,使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性,这篇文章主要给大家介绍了关于C语言volatile关键字的相关资料,需要的朋友可以参考下
    2021-07-07
  • 详解Dijkstra算法之最短路径问题

    详解Dijkstra算法之最短路径问题

    Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。本文将介绍其原理,并用C++实现
    2021-06-06
  • C语言实现数据结构迷宫实验

    C语言实现数据结构迷宫实验

    这篇文章主要为大家详细介绍了C语言实现数据结构迷宫实验,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C++ 中const和复合类型

    C++ 中const和复合类型

    本文给大家讲述的是C++ 中比较难理解的const和复合类型,结合自己的一些经验,分享给大家,希望大家能够喜欢。
    2016-02-02
  • Qt信号与槽知识点总结归纳

    Qt信号与槽知识点总结归纳

    信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,下面这篇文章主要给大家介绍了关于Qt信号与槽知识点总结归纳的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • C/C++中组合详解及其作用介绍

    C/C++中组合详解及其作用介绍

    这篇文章主要介绍了C/C++中组合的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • C语言如何利用异或进行两个值的交换详解

    C语言如何利用异或进行两个值的交换详解

    最近在工作中遇到了两个值交换的需求,发现自己对异或有些忘记,所以索性写出来,方便以后需要的时候参考学习,下面这篇文章主要给大家介绍了关于C语言如何利用异或进行两个值的交换的相关资料,需要的朋友可以参考下。
    2017-09-09
  • C语言库的封装和使用方法总结

    C语言库的封装和使用方法总结

    在编程的过程中,使用已经封装好的库函数是十分方便的,也是十分高效的,这篇文章主要给大家介绍了关于C语言库的封装和使用的相关资料,需要的朋友可以参考下
    2021-07-07
  • C++中正则表达式的使用方法详解

    C++中正则表达式的使用方法详解

    几乎所有的编程语言都支持正则表达式。 C++从C++11开始直接支持正则表达式。除了编程语言之外,大多数文本处理程序都使用正则表达式。本文将探讨正则表达式的一般细节以及C++编程方面的细节,感兴趣的可以学习一下
    2022-05-05

最新评论