istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string



1. istringstream字符串流

#include
<iostream>

#include
<sstream>

#include
<string>

using
namespace
std;

struct
MyStruct

{

string
str1,
str2,
str3;

double
db;

int
num;

char
ch;

};

void
main()

{

string 
mystring("china 
google microsoft 12.9 123 A");

MyStruct
struct1;

istringstream
input(mystring);//创建一个字符串扫描流

input >>
struct1.str1
>> struct1.str2
>> struct1.str3
>> struct1.db
>> struct1.num
>> struct1.ch;

cout <<
struct1.str1
<< endl;

cout <<
struct1.str2
<< endl;

cout <<
struct1.str3
<< endl;

cout <<
struct1.db
<< endl;

cout <<
struct1.num
<< endl;

cout <<
struct1.ch
<< endl;

cin.get();

}

2.实现类似字符串截取的功能

#include
<iostream>

#include
<sstream>

#include
<string>

using
namespace
std;

//实现类似字符串截取的功能

void
main()

{

char
mystring[50] =
"china#123#A";

for (char
*p =
mystring; *p
!= ‘\0‘;
p++)

{

if (*p
== ‘#‘)

{

*p =
‘ ‘;

}

}

istringstream
input(mystring);//创建一个字符串扫描流

string
str;

int
num;

char
ch;

input >>
str >>
num >>
ch;

cout <<
str <<
endl;

cout <<
num <<
endl;

cout <<
ch <<
endl;

cin.get();

}

运行结果:

3.实现类似字符串截取的功能

#include
<iostream>

#include
<sstream>

#include
<string>

using
namespace
std;

//实现类似字符串截取的功能

void
main()

{

ostringstream 
MYOUT;

char
str[100] = { 0 };

//ostringstream MYOUT(str,sizeof(str));

char
str1[50] =
"a1234567b";

MYOUT <<
"a1234b" <<
" " << 123<<
""<< 234.89 <<
" " <<
‘h‘ <<
" " <<
str1 <<
endl;

cout <<
MYOUT.str();

//cout <<str;

cin.get();

}

运行结果如下:

4.字符串流中的put

#define
_CRT_SECURE_NO_WARNINGS

#include
<iostream>

#include
<sstream>

#include
<string>

#include
<stdlib.h>

using
namespace
std;

void
main()

{

stringstream
mystr;//字符串进行输入

mystr.put(‘X‘).put(‘Y‘);//连个字符输入

mystr <<
"ZXCV";//字符串输入

cout <<
mystr.str();

string
str =
mystr.str();//定义字符串接受值

char
ch;   
//从字符串内部读取一个字符

mystr >>
ch;

cout <<
"\n";

cout.put(ch);

cout <<
"\n";

cout <<
mystr.str();

std::cin.get();

system("pause");

}

运行结果

5.str()将流转换成为字符串string

#define
_CRT_SECURE_NO_WARNINGS

#include
<iostream>

#include
<sstream>

#include
<string>

#include
<stdlib.h>

using
namespace
std;

void
main()

{

stringstream
mystr;//sprintf功能

char
cmd1[30] = { 0 };

char
cmd2[30] = { 0 };

cin.getline(cmd1,
30).getline(cmd2,
30);//输入两个字符串

mystr <<
cmd1 <<
"&" <<
cmd2;//字符打印

string
str =
mystr.str();//定义字符串接受值

system(str.c_str());

char
cstr[50] = { 0 };//默认的字符串

strcpy(cstr,
str.c_str());

cout <<
cstr <<
endl;

for (char
*p =
cstr; *p
!= ‘\0‘;
p++)

{

if (*p
== ‘&‘)

{

*p =
‘ ‘;

}

}

char
newcmd1[30] = { 0 };

char
newcmd2[30] = { 0 };

stringstream 
newstr(cstr);//sscanf的功能

newstr >>
newcmd1 >>
newcmd2;

cout <<
newcmd1 <<
"\n" <<
newcmd2 <<
endl;

system("pause");

}

时间: 2024-12-22 19:31:31

istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string的相关文章

delphi 怎么将一个文件流转换成字符串(String到流,String到文件,相互转化)

//from   http://kingron.myetang.com/zsfunc0d.htm (*//   标题:充分利用pascal字符串类型   说明:和PChar不同,string可以保存#0字符在其中;示例文件.内存流字符串之间转换   设计:Zswang   日期:2002-01-25   支持:[email protected]   //*) ///////Begin   Source   function   StringToFile(mString:   string;  

流转换成字符串

public class StreamUtil { /** * 流转换成字符串 * @param is 流对象 * @return 流转换成的字符串 返回null代表异常 */ public static String streamToString(InputStream is) { //1,在读取的过程中,将读取的内容存储值缓存中,然后一次性的转换成字符串返回 ByteArrayOutputStream bos = new ByteArrayOutputStream(); //2,读流操作,读

把流转换成字符串

把流转换成字符串 public static String convertStreamToString(InputStream is) { BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } String

jQuery中serializeArray方法的使用及对象与字符串的转换

使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组, 再使用遍历的方式可以方便的将数组转化为json对象, 代码如下 <p id="results"><b>Results: </b> </p> <form> <select name="single"> <option>Single</o

Delphi中怎样将字符串按给定字符分隔(类似split函数的功能)

Delphi中怎样将字符串按给定字符分隔(类似split函数的功能) 分类:            Delphi2007-05-16 11:094911人阅读评论(2)收藏举报 delphiintegerstringbutton文本编辑function 今天偶尔要做的Delphi程序,其中涉及到了字符串处理,里面有一个功能类似于VB里的split()函数的功能,于是查了很久才查到些资料,现将这些资料整理一下,方便大家. 首先是一个网友自己编的函数.实现了和split()函数的功能. unit U

1字符串中的world替换为i bookan wisdom2.字符串的相加字符串输出,长度3比较字符串大小4截取字符串5字符串内所有a都替换成A6判断字符串是否以http开头7将字符串内admin和123截取出来8字符添加

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 字符串中的world替换为i bookan wisdom */ //        NSString *[email protected]"hello world and sunshine"; //        NSString *newstr3=[str1 string

C# 输入字符串,每3个截取一次,形成一个数组

//输入字符串,每3个截取一次,形成一个数组 static void Main(string[] args) { //输入字符串 Console .WriteLine ("请输入:"); string a =Convert .ToString(Console .ReadLine ()); Console.WriteLine("输入字符串的长度:"+a.Length); //调用函数截取 string[] c =jiequ(a, 3); //输出字符串 foreach

获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数

#region 函数:GetSubString() 作用:获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数 /// <summary> /// 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数 /// </summary> /// <param name="strSub">输入中英混合字符串</param> /// <param name="start"

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

概述: 概述: 本章节将讲述Linux中shell脚本编程的数组,高级字符串处理,高级变量和配置用户的环境. 一.函数和位置参数扩展 1.shift 命令实现在位置参数中的跳跃,会把最左边的参数挤掉     2.匿名函数的使用 第一篇:数组 一.数组的定义: 1.变量:存储单个元素的内存空间 2.数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 3.数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开