itoa

 

  功 能:把一整数转换为字符串

 

  用 法:char *itoa(int value, char *string, int radix);

 

  详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.

 

  参数:

 

  value: 待转化的整数。

 

  radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。

 

  * string: 保存转换后得到的字符串。

 

  返回值:

 

  char * : 指向生成的字符串, 同*string。

 

  备注:该函数的头文件是"stdlib.h"

#include <stdlib.h>

 

  #include <stdio.h>

 

  int main()

 

  {

 

  int number = 123456;

 

  char string[25];

 

  itoa(number, string, 10);

 

  printf("integer = %d string = %s\n", number, string);

 

  return 0;

 

  }

atoi

 

  C语言库函数名: atoi

 

  功 能: 把字符串转换成整型数

 

  函数说明: atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。

 

  原型: int atoi(const char *nptr);

 

  需要用到的头文件: #include <stdlib.h>
 程序例:

 

  1)

 

  #include <stdlib.h>

 

  #include <stdio.h>

 

  int main(void)

 

  {

 

  int n;

 

  char *str = "12345.67";

 

  n = atoi(str);

 

  printf("string = %s integer = %d\n", str, n);

 

  return 0;

 

  }

 

  执行结果

 

  string = 12345.67 integer = 12345

string 转 CString 
CString.format("%s", string.c_str());

char 转 CString 
CString.format("%s", char*);

char 转 string 
string s(char *);

string 转 char * 
char *p = string.c_str();

CString 转 string 
string s(CString.GetBuffer());

1,string -> CString 
CString.format("%s", string.c_str()); 
用c_str()确实比data()要好. 
2,char -> string 
string s(char *); 
你的只能初始化,在不是初始化的地方最好还是用assign(). 
3,CString -> string 
string s(CString.GetBuffer()); 
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.

《C++标准函数库》中说的 
有三个函数可以将字符串的内容转换为字符数组和C—string 
1.data(),返回没有”\0“的字符串数组 
2,c_str(),返回有”\0“的字符串数组 
3,copy()

---------------------------------------------------------------

CString与int、char*、char[100]之间的转换- -

CString与int、char*、char[100]之间的转换- -

CString互转int

将字符转换为整数,可以使用atoi、_atoi64或atol。 
而将数字转换为CString变量,可以使用CString的Format函数。如 
CString s; 
int i = 64; 
s.Format("%d", i) 
Format函数的功能很强,值得你研究一下。

void CStrDlg::OnButton1() 

// TODO: Add your control notification handler code here 
CString 
ss="1212.12"; 
int temp=atoi(ss); 
CString aa; 
aa.Format("%d",temp); 
AfxMessageBox("var is " + aa); 
}

sart.Format("%s",buf);

CString互转char*

///char * TO cstring 
CString strtest; 
char * charpoint; 
charpoint="give string a value"; 
strtest=charpoint;

///cstring TO char * 
charpoint=strtest.GetBuffer(strtest.GetLength());

标准C里没有string,char *==char []==string

可以用CString.Format("%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。

CString转换 char[100]

char a[100]; 
CString str("aaaaaa"); 
strncpy(a,(LPCTSTR)str,sizeof(a));

CString类型的转换成int 
将字符转换为整数,可以使用atoi、_atoi64或atol。

//CString aaa = "16" ; 
//int int_chage = atoi((lpcstr)aaa) ;

而将数字转换为CString变量,可以使用CString的Format函数。如 
CString s; 
int i = 64; 
s.Format("%d", i) 
Format函数的功能很强,值得你研究一下。 
如果是使用char数组,也可以使用sprintf函数。

//CString ss="1212.12"; 
//int temp=atoi(ss); 
//CString aa; 
//aa.Format("%d",temp);

数字->字符串除了用CString::Format,还有FormatV、sprintf和不需要借助于Afx的itoa

#include <stdlib.h>

int atoi(const char *nptr); 
long atol(const char *nptr); 
long long atoll(const char *nptr); 
long long atoq(const char *nptr);

string aa("aaa"); 
char *c=aa.c_str();

cannot convert from 'const char *' to 'char *' 
const char *c=aa.c_str();

string.c_str()只能转换成const char *, 
要转成char *这样写:

string mngName; 
char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());

【转】c/c++各种字符、字符串类型转换的更多相关文章

  1. [Clr via C#读书笔记]Cp14字符字符串和文本处理

    Cp14字符字符串和文本处理 字符 System.Char结构,2个字节的Unicode,提供了大量的静态方法:可以直接强制转换成数值: 字符串 使用最频繁的类型:不可变:引用类型,在堆上分配,但是使 ...

  2. 随机生成指定长度字符字符串(C语言实现)

    相关函数 srand(), rand()头文件#include<stdlib.h> 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MA ...

  3. Java字符字符串类

    Java字符字符串类 Character 类 Character 类用于对单个字符进行操作.Character 类在对象中包装一个基本类型 char 的值在实际开发过程中,我们经常会遇到需要使用对象, ...

  4. 5.Java基础_Java算术/字符/字符串/赋值运算符

    /* 算术/字符/字符串/赋值 运算符 */ public class OperatorDemo01 { public static void main(String[] args){ //算术运算符 ...

  5. rune和byte在处理字符/字符串中的应用.

    rune和byte在处理字符/字符串中的应用. 定义: rune是int32的别名,-2147483648->2147483647,常用来表示UNICODE字符集,可以用来处理包含中文/非中文的 ...

  6. C语言字符/字符串相关函数收藏

    字符串的声明与使用 定义一个可变的字符串: char ch[]={"123456abc"}; char ch2[5]={"123456789"}; //会出现警 ...

  7. <NET CLR via c# 第4版>笔记 第14章 字符,字符串和文本处理

    14.1 字符 三种数值类型与 Char 实例的相互转换: static void Main() { Char c; Int32 n; //方法一: 通过C#转型(强制类型转换)实现数字与字符的相互转 ...

  8. Aery的UE4 C++游戏开发之旅(5)字符&字符串

    目录 TCHAR 字符 使用TEXT()宏包裹字符串字面量 转换字符编码 FString 字符串 FString 剖析 FString 使用 FName 字符串 FName 剖析 FName 使用 F ...

  9. PHP笔记2__变量/字符串/类型转换/常量/,,

    <?php //可变变量 $a = "ok"; $$a = "fine"; $$$a = "er"; echo $ok; echo & ...

随机推荐

  1. Css透明度

    全透明代码:{background:transparent} 半透明代码:{filter:alpha(opacity=80);-moz-opacity:0.8;width:auto !importan ...

  2. 找不到请求的 .Net Framework Data Provider。可能没有安装。

    解决方法: 安装Microsoft SQL Server Compact 4.0. 安装Microsoft SQL Server Compact 4.0之后,程序运行正常. 问题的原因就是程序连接.s ...

  3. 使用 Nuget打包类库

    使用 Nuget打包类库 NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget ...

  4. memcpy造成其他变量值改变

        以前C/C++遇到过很多很多的问题,有时候费了很久很久时间,很大很大的努力才解决.但是都没有记录下来,现在想想以前的遇到的问题,只知道这样的事情发生过,至于是什么问题,一点印象都没有了.所以遇 ...

  5. xx通CGI流量控制

    流量控制共分2步,首先在CGI框架对用户的ip作限制,第二限制每个CGI的流量.   一.基于IP的流量控制 用共享内存(shm)的方式保存基于ip的访问信息. 配置文件中 <variable ...

  6. 禁用USB存储设备(不重启)

    Title:禁用USB存储设备(不重启) -- 2012-09-13 12:08 在win2003实验,USB存储禁止,无需重启! stop usbrw.reg ------------------- ...

  7. 关于51单片机P0口的结构及上拉问题

    1.P0作为地址数据总线时,V1和V2是一起工作的,构成推挽结构.高电平时,V1打开,V2截止:低电平时,V1截止,V2打开.这种情况下不用外接上拉电阻.而且,当V1打开,V2截止,输出高电平的时候, ...

  8. [译] 新手和老手都将受益的JavaScript小技巧

    这篇文章会分享一些鲜为人知但却很强大的JavaScript技巧, 各个级别的JavaScript开发者都会从中受益.   1. 用数组的length属性清空数组   我们知道在JS中对象类型是按引用传 ...

  9. HDU5140---Hun Gui Wei Company (主席树)

    主席树太强大了,,如果仅仅用来求第k大就太屈才了..貌似和HDU4605差不多,那个是在图上根据点的顺序建立主席树,这个是根据年龄大小 或者等级高低建立主席树. 题意 大致就是一个二维区间的求和,但是 ...

  10. codeforces 277.5 div2 F:组合计数类dp

    题目大意: 求一个 n*n的 (0,1)矩阵,每行每列都只有两个1 的方案数 且该矩阵的前m行已知 分析: 这个题跟牡丹江区域赛的D题有些类似,都是有关矩阵的行列的覆盖问题 牡丹江D是求概率,这个题是 ...