• 使用字符串流对象进行格式转换


    前言

      字符串流对象有个很实用的功能就是格式转换。比如可以将整数类型的123转换成字符串格式的123,或者反过来。那么具体又是如何实现的?且看下文。

    实现思路

      对于整数转换成字符串格式,可设s是一个空的字符串流对象,” 整型变量 “存放目标整数。则当执行" s << 整型变量 "后,该整数将转成字符串格式并存进流中。随后代码中使用" s.str() "即可获取到该整数的字符串格式。对于字符串转换成整数格式,亦可设s是一个空的字符串流对象,” 整型变量 “存放转换结果。可先将目标字符串存放进字符串流对象,然后执行" s >> 整型变量 “。此后该整型变量既是目标字符串的整数格式。

    示例代码1:整数格式 -> 字符串格式

     1 #include <iostream>
     2 // 使用字符串流对象记得包含此头文件
     3 #include <sstream>
     4   
     5 using namespace std;
     6   
     7 int main()
     8 {
     9      int num;
    10      cout << "请输入要转换的整数: " << endl;
    11      cin >> num;
    12  
    13      stringstream s;
    14      s << num;
    15      cout << "转换完毕..." << endl << endl;
    16  
    17      cout << "整数格式: " << num << endl;
    18      cout << "字符串格式: " << s.str() << endl;
    19  
    20      return 0;
    21 }

      运行结果:

      

    示例代码2:字符串格式 -> 整数格式

     1 #include <iostream>
     2 // 使用字符串流对象记得包含此头文件
     3 #include <sstream>
     4  
     5 using namespace std;
     6  
     7 int main()
     8 {
     9     string st;
    10     cout << "请输入要转换的字符串: " << endl;
    11     cin >> st;
    12 
    13     stringstream s(st);
    14     int num;
    15     s >> num;
    16     cout << "转换完毕..." << endl << endl;
    17 
    18     cout << "字符串格式: " << s.str() << endl;
    19     cout << "整数格式: " << num << endl;
    20 
    21     return 0;
    22 }

      运行结果:

      

  • 相关阅读:
    【转】Unity学习笔记——MonoBehaviour类Invoke, Coroutine
    【转】Unity3D协同程序(Coroutine)
    Java定时任务
    SMSLib开发指南
    短信猫JAVA二次开发包SMSLib,org.smslib.TimeoutException: No response from device解决方案
    注解+反射+JDBC,实现一个简易的泛型DAO接口
    利用Window超级终端,修改短信猫波特率
    深入理解JDK动态代理机制
    深入分析Java ClassLoader原理
    Linux内核升级指南
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3216667.html
Copyright © 2020-2023  润新知