一个字符串转换类
在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,如需转载请自行联系原作者