stringstream流来操作数字与字符串的操作

对于C++中的字符串与数字的转化是可以通过流来转化的;
上代码!!!

#include<iostream>
#include <sstream>
#include<string>
#include <algorithm> 


using namespace std;

int main()
{
    int p = 12351;
    cout << "p =" << p << endl;
    cout << endl;
    string oo;
    stringstream ss;
    ss << p;
    ss >> oo;
    for (int i = 0; i < ss.str().size(); i++)
    {
        cout << ss.str().at(i) << endl;
    }
    cout << endl;
    for (int i = 0; i < oo.size(); i++)
    {
        cout << oo.at(i) << endl;
    }
    cout << endl;


    system("pause");

}
image.png

string转化为num同理;注意头文件

#include<iostream>
#include <sstream>
#include<string>
#include <algorithm> 


using namespace std;

int main()
{
    int p = 12351;
    cout << "p =" << p << endl;
    string oo;
        //定义两个流的副本
    stringstream ss;
    stringstream ss1; 
    ss << p;//将p输入ss流
    ss >> oo;//将ss流用string的格式输出给oo
    reverse(oo.begin(), oo.end()); //algorithm算法,翻转string
        //输出ss的流的副本
    for (int i = 0; i < ss.str().size(); i++)
    {
        cout << ss.str().at(i) << endl;
    }
    for (int i = 0; i < oo.size(); i++)
    {
        cout << oo.at(i) << endl;
    }
    ss1 << oo;
    for (int i = 0; i < ss1.str().size(); i++)
    {
        cout << ss1.str().at(i) << endl;
    }
    ss1 >> p;
    cout << "p =" << p << endl;

    system("pause");

}
image.png

可能有人会奇怪为什么需要两个流呢?那我们来试试只有一个流的时候

#include<iostream>
#include <sstream>
#include<string>
#include <algorithm> 


using namespace std;

int main()
{
    int p = 12351;
    cout << "p =" << p << endl;
    cout << endl;
    string oo;
    stringstream ss;
    ss << p;
    ss >> oo;
    reverse(oo.begin(), oo.end());
    for (int i = 0; i < ss.str().size(); i++)
    {
        cout << ss.str().at(i) << endl;
    }
    cout << endl;
    for (int i = 0; i < oo.size(); i++)
    {
        cout << oo.at(i) << endl;
    }
    cout << endl;

    ss << oo;
    for (int i = 0; i < ss.str().size(); i++)
    {
        cout << ss.str().at(i) << endl;
    }
    cout << endl;
    ss >> p;
    cout << "p =" << p << endl;

    system("pause");

}
image.png

第二次的流的输入并没有改变流ss的值。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 8,494评论 0 7
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,718评论 18 399
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 9,868评论 1 44
  • 现在的我是越来越喜欢下雨天了。以前,会觉得下雨是老天和我一同在感时伤怀,我在流泪,连老天都觉得悲伤了,心情...
    MissMushroom阅读 3,093评论 2 2
  • 个人愚见 书籍仅看了第一卷也就是1/4 令狐冲一路走的可以说是身上的伤从没好过,先是被田伯光砍,然后被青城派迫害差...
    猪聪明阅读 1,346评论 0 0

友情链接更多精彩内容