[实用程序源码及工具软件] C++语言下的int2str()和str2int()

[复制链接]
 楼主| hotpower 发表于 2023-9-18 22:47 | 显示全部楼层 |阅读模式
  1. #pragma once

  2. #include <iostream>

  3. #include <iomanip> //std::hex, std::setw, std::setfill

  4. template <class T>
  5. T str2int(string intstr) {
  6.         istringstream intstream(intstr);
  7.         T val;
  8.         intstream >> val;
  9.         return val;
  10. }

  11. template <class T>
  12. string int2string(T val, string format) {
  13.         ostringstream hexstream;
  14.         int size = str2int<int>(format.substr(1, format.length() - 1));
  15.         string str = format.substr(0, 1);
  16.         if (str == "D" || str == "d") {
  17.                 if (format.substr(1, 1) == "0") hexstream << setw(size) << setfill('0') << val;
  18.                 else hexstream << setw(size) << val;
  19.         }
  20.         else if (str == "X") {
  21.                 hexstream << hex << setw(size) << setfill('0') << setiosflags(ios::uppercase) << val;
  22.         }
  23.         else if (str == "x") {
  24.                 hexstream << hex << setw(size) << setfill('0') << val;
  25.         }
  26.         return hexstream.str();
  27. }

  28. template <class T>
  29. string int2str(T val) {
  30.         ostringstream strstream;
  31.         strstream << val;
  32.         return strstream.str();
  33. }


您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:[url=http://www.21ic.com/tools/HotWC3_V1.23.html]

1460

主题

21619

帖子

508

粉丝
快速回复 在线客服 返回列表 返回顶部