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

简介:  1. istringstream字符串流 #include <iostream> #include <sstream> #include <string>   using namespace std;   struct MyStruct {     string str1,


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");

}

 

目录
相关文章
|
3月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
326 100
|
3月前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
440 99
|
3月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
3月前
|
开发者 Python
Python f-string:高效字符串格式化的艺术
Python f-string:高效字符串格式化的艺术
|
4月前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
287 92
|
5月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
339 14
|
9月前
|
数据处理
鸿蒙开发:ArkTs字符串string
字符串类型是开发中非常重要的一个数据类型,除了上述的方法概述之外,还有String对象,正则等其他的用处,我们放到以后得篇章中讲述。
515 19
|
9月前
|
Java 程序员
课时16:String字符串
课时16介绍了Java中的String字符串。在Java中,字符串使用`String`类表示,并用双引号定义。例如:`String str = &quot;Hello world!&quot;;`。字符串支持使用“+”进行连接操作,如`str += &quot;world&quot;;`。需要注意的是,当“+”用于字符串与其他数据类型时,其他类型会先转换为字符串再进行连接。此外,字符串中可以使用转义字符(如`\t`、`\n`)进行特殊字符的处理。掌握这些基本概念对Java编程至关重要。
135 0