当前位置: 首页 > news >正文

一个字符串转换类

在C++中将字符串类转换为整型,浮点型并不像java,C#那样简单,这是件烦心的工作,而且不同的函数接口让代码维护起来也麻烦,所以写个自动进行字符串转换成所需要的类型的程序很有意义,下面这个类只有加入你想要的类型,并为之提供操作符重载就可以了。

注:如果你没有使用boost库,把#define USE_BOOST_LIBS注释掉

字符串转换类

// StringAutomaticCast.cpp : Defines the entry point for the console application.
//
#include <stdio.h>

#include <string>

#include "StringAutoCast.h"

/**
 * @brief Read data from a file and automatically convert it to return data type
 * 
 * @param format specify the format of read data (only for inter-like data (int, short, char, long,)
 *
 * @return CStringAutoCast 
 */
CStringAutoCast ReadDataFromFile(CStringAutoCast::E_format format= CStringAutoCast::kDec)
{
    /*
        here put some code that read a file (txt, xml or whatever you want) and 
        extract    data as std::string csReadFromFile
    */
    const std::string csReadFromFile = "230";
    return CStringAutoCast(csReadFromFile, format);
}
int main(int argc, char* argv[])
{
    int a            = ReadDataFromFile();
    float b            = ReadDataFromFile();
    unsigned char c = ReadDataFromFile();
    long d            = ReadDataFromFile(CStringAutoCast::kOct); //specifies that the string read is in Octal format
    unsigned long e    = ReadDataFromFile(CStringAutoCast::kHex); //specifies that the string read is in Hexadecimal format
    std::string   f = ReadDataFromFile(); 

    return 0;
}

本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2007/11/18/963518.html,如需转载请自行联系原作者

相关文章:

  • Ubuntu 16.04 LTS国内快速更新源
  • 考过网工的心得
  • 8.3. Spring Cloud 相关的 application.properties 配置
  • 大数据与云计算学习:数据分析(二)
  • 3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令
  • 剑指offer 矩阵覆盖
  • 从0开始弄一个面向OC数据库--终结篇
  • C++ Exercises(一)
  • restful+springmvc+mybatis+ webservice 分布式架构
  • 有歧义(AMBIGUOUS LAYOUT)的约束布局调试方法2
  • CSU-ACM2018寒假集训选拔-入门题
  • 云数据库 Redis 版功能特性
  • bootstrap和elementUI真的会冲突
  • LeetCode:26. Remove Duplicates from Sorted Array(Easy)
  • jvm 内存分配
  • 【前端学习】-粗谈选择器
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • AWS实战 - 利用IAM对S3做访问控制
  • Codepen 每日精选(2018-3-25)
  • IndexedDB
  • LeetCode29.两数相除 JavaScript
  • Netty 4.1 源代码学习:线程模型
  • NSTimer学习笔记
  • Shadow DOM 内部构造及如何构建独立组件
  • Solarized Scheme
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue 个人积累(使用工具,组件)
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 大型网站性能监测、分析与优化常见问题QA
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 突破自己的技术思维
  • 我感觉这是史上最牛的防sql注入方法类
  • 一个JAVA程序员成长之路分享
  • 栈实现走出迷宫(C++)
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (ZT)薛涌:谈贫说富
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • .NET 8.0 发布到 IIS
  • .net core 连接数据库,通过数据库生成Modell
  • .Net FrameWork总结
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NetCore部署微服务(二)
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [20150904]exp slow.txt
  • [20181219]script使用小技巧.txt