C++ int与string的相互转换

一、int转换成string

  Ⅰ、to_string函数

c++11标准增加了全局函数std::to_string:

string to_string (int val);

string to_string (long val);

string to_string (long long val);

string to_string (unsigned val);

string to_string (unsigned long val);

string to_string (unsigned long long val);

string to_string (float val);

string to_string (double val);

string to_string (long double val);

Example:

 1 // to_string example
 2 #include <iostream>   // std::cout
 3 #include <string>     // std::string, std::to_string
 4
 5 int main ()
 6 {
 7   std::string pi = "pi is " + std::to_string(3.1415926);
 8   std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number";
 9   std::cout << pi << ‘\n‘;
10   std::cout << perfect << ‘\n‘;
11   return 0;
12 }
13 Output
14 pi is 3.141593
15 28 is a perfect number 

  Ⅱ、借助字符串流

  标准库定义了三种类型字符串流:istringstream,ostringstream,stringstream,看名字就知道这几种类型和iostream中的几个非常类似,分别可以读、写以及读和写string类型,它们也确实是从iostream类型派生而来的。要使用它们需要包含sstream头文件。

除了从iostream继承来的操作

  1.sstream类型定义了一个有string形参的构造函数,即:  stringstream stream(s); 创建了存储s副本的stringstream对象,s为string类型对象

  2.定义了名为str的成员,用来读取或设置stringstream对象所操纵的string值:stream.str(); 返回stream中存储的string类型对象stream.str(s); 将string类型的s复制给stream,返回void

Example:

1 int aa = 30;
2 stringstream ss;
3 ss<<aa;
4 string s1 = ss.str();
5 cout<<s1<<endl; // 30

二、string转换成int

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

Example:

1 std::string str = "123";
2 int n = atoi(str.c_str());
3 cout<<n; //123

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

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

参考资料:

http://blog.csdn.net/lxj434368832/article/details/78874108

https://www.cnblogs.com/aminxu/p/4704281.html

原文地址:https://www.cnblogs.com/smile233/p/8379802.html

时间: 2024-10-06 22:42:41

C++ int与string的相互转换的相关文章

int与string的相互转换

<1>stringstream 的方式 C++标准库里面有一个stringstream可以用于各种数据类型之间的转换.无论是从int到string,还是从string到int都可以使用这种方法. 需要包含的头文件是<sstream>. 使用方法如下: #include <sstream> #include <iostream> #include <string> using namespace std; int main() { string s

c++学习 - int 和 string 的相互转换

在C++中会碰到int和string类型转换的. string -> int 首先我们先看两个函数: atoi 这个函数是把char * 转换成int的.应该是属于标准库函数.在想把string 转换成int的时候,需要以下流程: string -> char * -> int 如此才可以,例子如下: string a = "1234"; int b = atoi(a.c_str()); 这样打印b的时候,就是1234了. itoa 这个函数在我搜索的时候,好像不属于

C++中int与string的相互转换【转】

一.int转string 1.c++11标准增加了全局函数std::to_string: string to_string (int val); string to_string (long val); string to_string (long long val); string to_string (unsigned val); string to_string (unsigned long val); string to_string (unsigned long long val);

C++中int与string的相互转换

一.int转string 1.c++11标准增加了全局函数std::to_string: string to_string (int val); string to_string (long val); string to_string (long long val); string to_string (unsigned val); string to_string (unsigned long val); string to_string (unsigned long long val);

C++ string 与 int 等类型 的相互转换

看到网上有许多关于这个的实现,而且会涉及到细节的处理.为了以后方便的使用,在此提供可以直接可以使用的函数. 参考资料: 1:讲解C++ stringstream(细节):http://blog.csdn.net/leonardwang/article/details/4881122 2:C++模板(很详细,有例子):http://www.cnblogs.com/gaojun/archive/2010/09/10/1823354.html 1 #include <iostream> 2 #inc

C++里的int 和string类型相互转换

C++不像Java和C#一样在进行数据类型转换时直接调用一些类方法就可以了,使用起来很简单. 一个很简单的例子就是string str="D:\\"+1+".txt";这在Java或者C#里面是可以自动拆箱和包 箱就可以了,但是在C++里面是不可以的.当然这只有一个文件还好,但是当我们要使用for循环去遍 厉一个文件夹下的1,2,3...命名的文件时或许就有点麻烦了.由于我自己碰到过这种情况,所以这里写 写几种方法.或许不是最好的方法,但是权当练练笔了,如果你发现错

XML 之 与Json或String的相互转换

1.XML与String的相互转换 [1] XML 转为 String //载入Xml文件 XmlDocument xdoc = new XmlDocument(); xdoc.Load("xml文件"); string xmlStr = xdoc.InnerXml; [2] String 转为 XML //载入Xml字符串 XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml("xml字符串"); //保存为Xml文

IOS开发NSString与int和float的相互转换以及字符串拼接

一.NSString与int和float的相互转换 NSString *tempA = @"123"; NSString *tempB = @"456"; 1.字符串拼接 NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB]; 2.字符转int int intString = [newString intValue]; 3.int转字符 NSString *st

C++.【转】C++数值类型与string的相互转换

1.C++数值类型与string的相互转换 - JohnGu - 博客园.html(https://www.cnblogs.com/johngu/p/7878029.html) 2. 1.数值类型转换为string 1.1使用函数模板+ostringstream 使用函数模板将基本数据类型(整型.字符型.实型.布尔型)转换成string. 1 2 3 4 5 6 7 8 9 10 11 12 //ostringstream对象用来进行格式化的输出,常用于将各种类型转换为string类型 //os