首页 > 其他 > 详细

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

时间:2014-08-30 23:11:28      阅读:936      评论:0      收藏:0      [点我收藏+]


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

}

运行结果:

bubuko.com,布布扣

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

}

运行结果如下:

bubuko.com,布布扣

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

}

运行结果

bubuko.com,布布扣

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

}

 bubuko.com,布布扣

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

原文:http://blog.csdn.net/tototuzuoquan/article/details/38948299

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!