C++ String和其他类型互换

在C++中如何实现String和其他类型互换呢?最好的方式是使用stringstream,下面简单介绍下:

1.其他类型转换为String

#include <sstream>

stringstream sstr;

string s1;
s1.append("string ");
sstr << 12;
//sstr >> s1; //这样的结果是把原来string的值冲掉了
s1 += sstr.str(); //这样不会改变原来的值
sstr.clear();//如果你想通过使用同一stringstream对象实现多种类型的转换,请注意在每一次转换之后都必须调用clear()成员函数。不clear的话值会一直存在
cout << s1 << endl;

2.string转换为其他类型

string s = "17";

stringstream ss;
ss<<s;  //读入值

int i;
ss>>i;  //输出值
cout<<i<<endl; // 17

sstr.clear();



string name = "colinguan"; 
char cname[200];

stringstream sstr;
sstr<<name;   //读入值
sstr>>cname;   //输出转换值

时间: 2024-10-27 13:29:54

C++ String和其他类型互换的相关文章

C++ - string类型转换int类型

string类型转换int类型 本文地址: http://blog.csdn.net/caroline_wendy C语言转换形式: ... std::string str; int i = atoi(str.c_str()); ... C++转换形式(C++11): ... std::string str; int i = std::stoi(str); ... 同样, 可以使用 stol(long), stof(float), stod(double) 等. 参考: http://en.cp

js中String转Date类型并比较大小

1.比较常用的方法,但繁琐: 主要使用Date的构造方法:Date(int year , int month , int day) Java代码   <script> var str1 = "2009-8-9"; var arr1 = str1.split("-"); var date1 = new Date(arr1[0],parseInt(arr1[1])-1,arr1[2]); var str2 = "2009-8-4"; va

Swift学习笔记(语法篇)-- String与Character类型

一: String概述 不同于Objective-C中的NSString与NSMutableString,在Swift中,存储String类型的数据能否改变,取决于定义数据是var还是let,var是变量,能改变String的长度,增加,修改,删除其中的每一个字符等操作,而let是常量,一旦定义后就不能再修改其内容. Swift的String类型是值类型,如果你创建了一个新的String类型的数据,当它被赋值传递时会进行值拷贝,产生一个副本. 二:Character概述 String其实是作为一

Java中String转换Double类型 Java小数点后留两位

Java中String转换Double类型 double num1 = 0.0; String qq = "19.987"; num1 = Double.valueOf(qq.toString()); 太祖元年 Java小数点后留两位 double num1 =11; double num1 =21; String num1 =""; DecimalFormat df = new DecimalFormat(".00");num3 = df.fo

Convert integer to string(int类型转化为string类型)

译: 这是一个常见的问题,但是对于这个问题我没有找到一个很好的方法:如何将整数类型转化为字符串类型?我遇到过几种解决方案.我不会使用stringstream.sprintf()函数也遇到了问题,并且它是C语言的风格.函数itoa()以前工作地很好,但参考文档说: 这个函数在ANSI-C中没有被定义,并且它不是C++的一部分,但有些编译器支持 并且这个函数也是C语言风格. 我自己写了一个C++风格的函数,并且它工作起来没有错误(译者注:我不这么认为,详见后文). string convertInt

System.String是值类型还是引用类型

分析问题 通过查看System.String类型的元数据可以看到,System.String是直接继承自System.Object的一个子类.在前面章节中笔者已经介绍了,所有直接或间接继承自System.ValueType的类型属于值类型,所以,System.String属于引用类型而非值类型.但是通常String的某些特性会让程序员产生其属于值类型的错觉.以下代码展示了这些特性. using System; namespace Test { class StringAttribute { st

String为值类型还是引用类型

关于String为值类型还是引用类型的讨论一直没有平息,最近一直在研究性能方面的问题,今天再次将此问题进行一次明确.希望能给大家带来点帮助. 如果有错误请指出. 来看下面例子: //值类型 int a = 1; int b = a; a = 2; Console.WriteLine("a is {0},b is {1}", a, b); //字符串 string str1 = "ab"; string str2 = str1; str1 = "abc&qu

Java:String转换为date类型

public static Date stringToDate(String str) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { // Fri Feb 24 00:00:00 CST 2012 date = format.parse(str); } catch (ParseException e) { e.printStackTrace(); } // 2012-0

【转】String为值类型还是引用类型

关于String为值类型还是引用类型的讨论一直没有平息,最近一直在研究性能方面的问题,今天再次将此问题进行一次明确.希望能给大家带来点帮助. 如果有错误请指出. 来看下面例子: 复制代码复制代码 //值类型 int a = 1; int b = a; a = 2; Console.WriteLine("a is {0},b is {1}", a, b); //字符串 string str1 = "ab"; string str2 = str1; str1 = &qu