您的位置:首页 > 编程语言 > C语言/C++

c++ MFC int与CString互转

2017-06-10 00:46 316 查看
 int s = 123; 

CString str;

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

这样就可以了,但是有的会提示这个错误





如果出现这个错误,就改成下面这个就OK了:

  str.Format(_T("%d"), s);

FROM:http://liguo125.blog.51cto.com/1995200/448711

 CString
型转化成 int 型  把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程。

  虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择。如果你准备使用 Unicode 字符,你应该用_ttoi(),它在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译成_wtoi()。你也可以考虑使用_tcstoul()或者_tcstol(),它们都能把字符串转化成任意进制的长整数(如二进制、八进制、十进制或十六进制),不同点在于前者转化后的数据是无符号的(unsigned),而后者相反。

所以直接使用函数_ttoi就可以了。
    nIndex = _ttoi(str);

FROM: http://blog.csdn.net/wletv/article/details/6333445

转载链接:http://blog.csdn.net/imxiangzi/article/details/37969353


C语言atoi()函数:将字符串转换成int(整数)

头文件:#include <stdlib.h>

atoi() 函数用来将字符串转换成整数(int),其原型为:
int atoi (const char * str);

【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。

温馨提示:ANSI C 规范定义了 stof()atoi()atol()strtod()strtol()strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习。另外在
C99 / C++11 规范中又新增了5个函数,分别是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介绍,请大家自行学习。

范例:将字符串a 与字符串b 转换成数字后相加。

#include <stdio.h>
#include <stdlib.h>

int main ()
{
    int i;
    char buffer[256];
    printf ("Enter a number: ");
    fgets (buffer, 256, stdin);
    i = atoi (buffer);
    printf ("The value entered is %d.", i);

    system("pause");
    return 0;
}

执行结果:
Enter a number: 233cyuyan
The value entered is 233.

引用链接:http://c.biancheng.net/cpp/html/125.html



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: