`

VC中数字与字符串转换方法(转)

 
阅读更多
VC中数字与字符串转换方法字符串转数字
1.CRT函数
ASCII UNICODE TCHAR          VS2005
int atoi _wtoi   _tstoi _ttoi     _atoi_l _wtoi_l
long atol _wtol _tstol _ttol     _atoi_l _wtoi_l
__int64 _atoi64 _wtoi64 _tstoi64 _ttoi64 _atoi64_l _wtoi64_l
float          _atoflt _atoflt_l
double atof _wtof _tstof _ttof _atof_l _wtof_l atodbl _atodbl_l
long double _atoldbl _atoldbl_l

2.使用sscanf

3.Windows SDK:

<shlwapi.h>:StrToInt
4.MFC/ATL:
     CString::Format

数字转字符串
1.CRT函数
ASCII   UNICODE TCHAR          VS2005
int itoa _itoa_itow    _itot                  
long ltoa _ltoa_ltow     _ltot    
__int64 _i64toa _i64tow _i64tot
double gcvt  _gcvt  _ecvt  _fcvt _wtof _tstof _ttof _gcvt_s  _ecvt_s  _fcvt_s


2.使用sprintf
3.<strsafe.h>:StringCbPrintf

通用相互转换方法
1.C++流方式:
stringstream
2.boost库:
boost:: lexical_cast



二、
可以用CString类的Format()方法,具体实现如下:

int i = 2008;

CString str;

str.Format("%d", i);

这样就OK了。

函数解析:CString::Formatvoid Format( LPCTSTR lpszFormat, ... );

void Format( UINT nFormatID, ... );

参数lpszFormat 一个格式控制字符串。nFormatID 包含格式控制字符串的字符串资源标识符。说明此成员函数用来将格式化数据写入一个CString中,其方法就像sprintf函数向一个C-风格的字符数组中格式化输出数据一样。这个成员函 数在CString中格式化并存储一系列字符和值。根据lpszFormat中指定的格式或nFormatID标识的字符串资源,函数中的每一个可选参数 (如果有)都被转换并输出。当你传递一个字符串作为一个可选择的参数时,你必须显式地将它转换为

LPCTSTR cstring str;

int n=9;

str.format("%d",n)



VC中字符串和数字转换的函数


vc中字符串和数字转换的函数:atoi,atol,strtod,strtol,strtoul 类型转换

atoi,atol,strtod,strtol,strtoul实现类型转换


atof(将字符串转换成浮点型数)
相关函数
atoi,atol,strtod,strtol,strtoul
表头文件
#include <stdlib.h>
定义函数
double atof(const char *nptr);
函数说明
atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
atof()与使用strtod(nptr,(char**)NULL)结果相同。

atoi(将字符串转换成整型数)
相关函数
atof,atol,atrtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
int atoi(const char *nptr);
函数说明
atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的整型数。
附加说明
atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。

atol(将字符串转换成长整型数)
相关函数
atof,atoi,strtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
long atol(const char *nptr);
函数说明
atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的长整型数。
附加说明
atol()与使用strtol(nptr,(char**)NULL,10);结果相同。

gcvt(将浮点型数转换为字符串,取四舍五入)
相关函数
ecvt,fcvt,sprintf
表头文件
#include<stdlib.h>
定义函数
char *gcvt(double number,size_t ndigits,char *buf);
函数说明
gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方 在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回值
返回一字符串指针,此地址即为buf指针。
附加说明

strtod(将字符串转换成浮点数)
相关函数
atoi,atol,strtod,strtol,strtoul
表头文件
#include<stdlib.h>
定义函数
double strtod(const char *nptr,char **endptr);
函数说明
strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换, 并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数 点或E(e)来表示指数部分。如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
参考atof()。

strtol(将字符串转换成长整型数)
相关函数
atof,atoi,atol,strtod,strtoul
表头文件
#include<stdlib.h>
定义函数
long int strtol(const char *nptr,char **endptr,int base);
函数说明
strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如 base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束 时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
ERANGE指定的转换字符串超出合法范围。

strtoul(将字符串转换成无符号长整型数)
相关函数
atof,atoi,atol,strtod,strtol
表头文件
#include<stdlib.h>
定义函数
unsigned long int strtoul(const char *nptr,char **endptr,int base);
函数说明
strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方 式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则 会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或 字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
ERANGE指定的转换字符串超出合法范围。

toascii(将整型数转换成合法的ASCII 码字符)
相关函数
isascii,toupper,tolower
表头文件
#include<ctype.h>
定义函数
int toascii(int c)
函数说明
toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
返回值
将转换成功的ASCII码字符值返回。

tolower(将大写字母转换成小写字母)
相关函数
isalpha,toupper
表头文件
#include<stdlib.h>
定义函数
int tolower(int c);
函数说明
若参数c为大写字母则将该对应的小写字母返回。
返回值
返回转换后的小写字母,若不须转换则将参数c值返回。
附加说明

toupper(将小写字母转换成大写字母)
相关函数
isalpha,tolower
表头文件
#include<ctype.h>
定义函数
int toupper(int c);
函数说明
若参数c为小写字母则将该对映的大写字母返回。
返回值
返回转换后的大写字母,若不须转换则将参数c值返回。
分享到:
评论

相关推荐

    vc 16进制字符串转换为10进制的整数

    在VC++编程环境中,我们经常需要处理不同进制之间的转换,比如将16进制的字符串转换成10进制的整数。16进制(Hexadecimal)是一种逢16进1的计数制,它使用数字0到9以及字母A到F来表示数值,而10进制是我们日常生活中...

    VC++程序: 将字符串转换成公式并计算结果

    int Calculate(string formula) 函数功能:输入一个字符串公式string formula,允许四则混合运算,然后输入公式中对应变量的取值,最后返回int类型计算结果。 变量的格式:必须由1位字母加1位数字组成,如a1、b2等...

    字符串转数字

    sscanf 函数是另一种将字符串转换为数字的方法。sscanf 函数的原型为 `int sscanf(const char *buffer, const char *format, ...);`。例如,`char tokenstring[] = "15 12 14..."; sscanf(tokenstring, "%d", &i);` ...

    VC 数字转换中文.rar

    4. **数字与字符的转换**:C++提供了`std::stringstream`或`std::atoi`等库函数,用于在数字和字符串之间转换。 5. **自定义函数**:为了提高代码复用性,可以创建一个函数,接收阿拉伯数字作为参数,返回对应的...

    VC CString字符串的类型转换

    在Microsoft Visual C++环境下,`CString`类是MFC(Microsoft Foundation Classes)库提供的一种方便的字符串处理类,它提供了丰富的字符串...通过理解和熟练掌握这些转换方法,可以更有效地在MFC程序中处理字符串。

    这个类包含了几种常见字符集以及字符串的转化方法.rar_VC 字符_VC 字符串

    在处理GSM编码时,我们可能会遇到如何将GSM编码的字符串转换为其他字符集,如Unicode或ASCII的问题。 在C++中,处理字符串通常涉及到std::string类,它提供了丰富的操作字符串的方法,如插入、删除、查找、比较等。...

    详解C++中十六进制字符串转数字(数值)

    C++中十六进制字符串转数字(数值)是指将十六进制字符串转换为数字(数值)的过程。在C++中,存在多种方法来实现十六进制字符串转数字(数值),以下将对这两种常见的方法进行详细的介绍。 方法1:使用sscanf()...

    VC字符串转数字[总结].pdf

    在C/C++编程中,有多个函数可以将字符串转换为不同类型的数值。以下是对这些函数的详细解释: 1. `atof()`:这个函数用于将字符串转换为浮点型数。它会跳过前导的空格,然后读取数字、正负符号、小数点或指数形式...

    16进制转字符vc编写

    3. **16进制字符串到整数**:使用`std::stoi()`函数,配合基数16(`std::stoi(hexStr, nullptr, 16)`),将16进制字符串转换为整数。 4. **整数到字符**:将得到的整数与ASCII码表对应,可以使用`char hexChar = ...

    字符串转换的类,方便使用

    在编程领域,字符串转换是日常开发中不可或缺的一部分,尤其是在与数据库交互时。标题提到的“字符串转换的类”提供了一种高效且方便的方式来处理不同格式的字符串,避免了在VC(Visual C++)环境中手动进行繁琐的...

    十六进制转十进制VC程序

    标题"十六进制转十进制VC程序"指出,这是一个使用Visual C++(简称VC)编写的程序,它的功能是将十六进制的数字或字符串转换成等值的十进制形式。这个小程序可能包含一个简单的用户界面,让用户输入十六进制数值或者...

    c++将二进制字符串转换成十进制数

    在C++编程中,将二进制字符串转换为十进制数是一项常见的任务,尤其是在处理计算机数据表示或者进行位操作时。在这个问题中,我们主要关注如何在Visual C++环境下实现这一转换。以下是一个详细的过程解释及代码示例...

    qt+vc2010十六进制字符串到浮点数,整型的相互转换源代码

    在处理十六进制字符串时,我们通常会将字符串转换为整数,然后根据需要调整其大小或符号。 在项目"Converter"中,可能包含以下几个关键组件: 1. **十六进制字符串到整型**:这一部分会实现将十六进制字符串解析为...

    vc二进制字符串转为int

    这就是在VC++环境中,将二进制字符串转换为整数的基本方法。这个过程可以扩展到其他编程语言,只需根据语言特性稍作调整。在处理大量数据或性能敏感的场景下,还可以考虑使用更高效的算法,例如使用位操作。

    GBK编码转换汉字,汉字转换GBK编码,VC代码实现

    例如,要将GBK编码的字符串转换为宽字符(UTF-16)字符串,可以这样操作: ```cpp std::string gbkStr = "GBK编码的字符串"; std::wstring wideStr; int len = MultiByteToWideChar(CP_GBK, 0, gbkStr.c_str(), -1,...

    POINTERS ON C 第九章编程练习16按照指定的格式字符串对一个数字字符进行格式化

    在第九章的“POINTERS ON C”中,编程练习16着重于使用格式化字符串来处理数字字符。这涉及到C语言的`printf`函数,它是`stdio.h`库中的一个关键组成部分,用于向标准输出(通常是控制台)打印格式化的数据。 `...

    经典的MD5字符串加密VC 6.0源码.rar

    在标题提及的"经典的MD5字符串加密VC 6.0源码"中,我们可以预期源代码会包含以下关键部分: 1. **MD5算法实现**:这通常是一个类或函数,用于计算输入字符串的MD5摘要。它会执行MD5算法的四个主要阶段:初始化,...

    ASCII码字符相互转换函数

    例如,如果你有一个包含ASCII数值的列表,你可以通过遍历并调用`ascii_to_char()`将它们转换为可读的字符字符串。反之,如果你需要将一段文本编码成ASCII数值,可以先逐个字符提取,再调用`char_to_ascii()`。 在...

    C语言json字符串的生成与解析

    扫描阶段会将输入的JSON字符串转换成内部的抽象语法树(AST),解析阶段则根据AST创建相应的C数据结构。 - 使用库函数,例如json_object_from_string()(json-c库),可以将JSON字符串转换为一个JSON对象。之后,...

    几种常见字符集以及字符串的转化方法.rar

    在编程领域,字符集和字符串转换是至关重要的概念,特别是在多语言环境和数据传输中。在VC++(Visual C++)开发中,了解并掌握不同的字符集和如何进行字符串转换对于编写兼容性强、效率高的代码至关重要。下面我们将...

Global site tag (gtag.js) - Google Analytics