stringstream通常是用来做数据转换的。相比c库的转换,它更加安全,自动和直接。
例子一:基本数据类型转换例子 int转string
#include <string>
#include <sstream>
#include <iostream>
int main()
{
std::stringstream stream;
std::string result;
int i = 1000;
stream << i; //将int输入流
stream >> result; //从stream中抽取前面插入的int值
std::cout << result << std::endl; // print the string "1000"
}
运行结果:print the string "1000"
例子二:除了基本类型的转换,也支持char *的转换。
#include <sstream>
#include <iostream>
int main()
{
std::stringstream stream;
char result[8] ;
stream << 8888; //向stream中插入8888
stream >> result; //抽取stream中的值到result
std::cout << result << std::endl; // 屏幕显示 "8888"
}
屏幕显示 "8888"
例子三:再进行多次转换的时候,必须调用stringstream的成员函数clear().
#include <sstream>
#include <iostream>
int main()
{
std::stringstream stream;
int first, second;
stream<< "456"; //插入字符串
stream >> first; //转换成int
std::cout << first << std::endl;
stream.clear(); //在进行多次转换前,必须清除stream
stream << true; //插入bool值
stream >> second; //提取出int
std::cout << second << std::endl;
}
运行clear的结果
456
1
没有运行clear的结果
456
8800090900
顺便介绍用stringstream配合string进行格式化的方法有点像CString.Format:
stringstream ss;
ss << 100 << endl;;
ss << "fuck" << endl;
string s( ( istreambuf_iterator< char >( ss ) ), istreambuf_iterator< char >() );
cout << s;
分享到:
相关推荐
下面小编就为大家带来一篇C++中stringstream的用法和实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
stringstream ss(012345678901234567890123456789012345678901234567890123456789); //错误用法 const char* cstr2 = ss.str().c_str(); //正确用法 const string& str2 = ss.str(); const char* cstr2 = str2.c_
stringstream的在acm模式中的用法
1 split字符串 之前在用C#写代码的时候,用过split函数,可以把一个字符串根据某个分隔符分成若干个字符串数组。...stringstream ss(inputString); string tmp; while(getline(ss,tmp,'/')) { if(tmp.empty
c++中stringstream的用法 istringstream, ostringstream, stringstream用法示例
本文实例讲述了C++利用stringstream进行数据类型转换的方法。分享给大家供大家参考。具体分析如下: 在C++标准库里面,使用stringstream 可以用于各种数据类型之间的转换 例如string 转 int 代码如下:std::string ...
string->int时只要遇到字母字符串就停止输入
串到流 将字符串转换为流...像这样使用string-to-stream : var str = require ( 'string-to-stream' ) str ( 'hi there' ) . pipe ( process . stdout ) // => 'hi there' 执照 麻省理工学院。 版权所有(c) 。
Stream和方法引用 1. Stream流 1.1. Stream流引入 Stream流完全不是I/O流,按照流水线处理方式来考虑代码中的思想。 JDK1.8 之后,我们拥有了Lambda表达式,让代码的中心偏向解决实际问题,直到重点,可以提高效率。...
再使用整型转string的时候感觉有点棘手,因为itoa不是标准C里面的,而且即便是有itoa,其他类型转string不是很方便。后来去网上找了一下,发现有一个好方法: 代码如下:#include <iostream>#include <sstream>#...
代码如下:static string GetHtml(string url) { HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Timeout = 16 * 1000; HttpWebResponse response = request.GetResponse() as ...
Stream流完全不是I/O流,按照流水线处理方式来考虑代码中的思想;在JDK1.8之后,我们拥有了Lambda表达式,让代码的中心偏向解决实际问题,直达重点。...1.带有很多Stream流操作的方法,filter,limi
用法 var gs = require ( 'glob-stream' ) ;var readable = gs ( './files/**/*.coffee' , { /* options */ } ) ;var writable = /* your WriteableStream */readable . pipe ( writable ) ; 您可以传递glob字符串的...