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-09-20 08:46:02

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

class-jython中有类似substr截取字符串的函数嘛?是哪个,多谢!

问题描述 jython中有类似substr截取字符串的函数嘛?是哪个,多谢! jython中有类似substr截取字符串的函数嘛?是哪个,多谢! 解决方案 字符串截取函数 substrPHP用substr函数截取字符串中的某部分 解决方案二: jython也是substr嘛? 解决方案三: 没有见过= =函数原型 basic_string<CharType, Traits, Allocator> substr( size_type _Off = 0, size_type _Count = np

substring-给一个文件夹地址,此地址中xxx是不固定长度的任意字符串 要怎么截取到这个xxx

问题描述 给一个文件夹地址,此地址中xxx是不固定长度的任意字符串 要怎么截取到这个xxx 地址如下:E:workspacetrunkProject...ToolsV12DataBackup_xxx_yy-MM-dd_hh'mm 这是我自己的代码 为什么输出的还是原来的字符串? 表示我是菜鸟 求大神指教string str="E:workspacetrunkProject...ToolsV12DataBackup_xxx_yy-MM-dd_hh'mm"";str.Substr

JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)_javascript技巧

POP 删除最后一项 删除最后一项,并返回删除元素的值:如果数组为空则返回undefine var a = [1,2,3,4,5]; a.pop();//a:[1, 2, 3, 4] a.pop();//a:[1, 2, 3] a.pop();//a:[1, 2] shift 删除第一项 删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefine var a = [1,2,3,4,5]; a.shift(); //a:[2,3,4,5] a.shift(); //a:[3, 4,

js html-在线等,急(大神帮帮忙):js动态嵌入html代码,代码中调用函数,当传参为字符串时,函数没有响应

问题描述 在线等,急(大神帮帮忙):js动态嵌入html代码,代码中调用函数,当传参为字符串时,函数没有响应 <!DOCTYPE html> <br> function insert()<br> {<br> var a="jioho";<br> var str="<table><tr><button type='button' onclick='test("+ a+"

数据结构 算法-如何用java中串的操作方法找出两个字符串中所有共同的字符

问题描述 如何用java中串的操作方法找出两个字符串中所有共同的字符 通过实现对串的基本操作的算法设计,运用模式匹配算法KMP和Brute-Force,展出两个字符串中所有共同的字符,判断一个字符串是否为E-mail地址

页面-struc2 中的 interceptors 拦截器 怎么能够返回字符串

问题描述 struc2 中的 interceptors 拦截器 怎么能够返回字符串 2C struc2 中的 interceptors 拦截器 怎么能够返回字符串 原来返回的是到页面jsp现在改成字符串 解决方案 用response write 然后 return null; 解决方案二: 你是想返回json数据吧!在原来struts.xml 返回的jsp 配置成返回类型是json, 解决方案三: PrintWriter out = response.getWriter(); out.print

android如何获取网页中特定标记之间的代码并作为字符串返回?

问题描述 android如何获取网页中特定标记之间的代码并作为字符串返回? 比如 我要获取某个网页上fhh jkl 这两个标记之间的代码 并返回该怎么弄? 解决方案 正则表达式提取 (?<=fhh).*?(?<jkl) 解决方案二: 除了用正则之外你也可以用Jsoup提取

string-C++用已存在字符串中的n个字符初始化另一个字符串怎样写最简单

问题描述 C++用已存在字符串中的n个字符初始化另一个字符串怎样写最简单 假设字符串 char *p,p中有100个字符,我想用其中前20个初始化一个string,但是不能改变原来的字符串p,该怎么写最简单呢? 自己写来写去总是觉得很绕 解决方案 代码最简单: char * newchar = new char[101];strncpy(newchar p 100);newchar[21] = '';string * s = new string(newchar); 解决方案二: 可以使用str

异常详细信息: System.InvalidOperationException: 在应用程序配置中未找到连接名“testConnectionString3”或者连接字符串为空。

问题描述 大家好,小弟在用asp.net时遇到以下问题:向页面增加一个DropDownList控件时,使用数据绑定连接到数据库,在vs2005测试中能够顺利进行,但是发布到iis上,就不能运行.报错:"/test"应用程序中的服务器错误.--------------------------------------------------------------------------------在应用程序配置中未找到连接名"testConnectionString3"