C语言中string char int类型转换 (-- ::)
转载

标签: 操作符 int char c语言 类型转换 分类: C/Cpp ,char型数字转换为int型 char a[] = ""; printf("%d\n", a[]-'');//输出结果为3 ,int转化为char *********************************** linux c *********************************** ()字符串转换成数字,用atoi,atol,atof,分别对应的是整型,long型,double型。以整型为例: char str[]="";
int a=atoi(str); ()数字换成字符串,用sprintf.以整型为例。 char str[];
int a=;
sprintf(str,"%d",a); ********************************************************************** string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有3中方法:
.data 如: string str="abc"; char *p=str.data(); .c_str 如:string str="gdfd"; char *p=str.c_str(); . copy 比如 string str="hello"; char p[];
str.copy(p, str.copy(p, str.copy(p,,); //这里5,代表复制几个字符,0代表复制的位置 *(p+)='\0'; //要手动加上结束符 cout < <p; 示例程序: #include<iostream> #include<string> using namespace std; int main() { string line; getline(cin,line); char str[]; int size=line.size(); line.copy(str,line.size(),); //char str[20]="liuyanbo"; char upper[]; for(int i=;i<size;++i) { //cout<<static_cast<char>(toupper(str[i])); upper[i]=static_cast<char>(toupper(str[i])); } upper[i]='\0'; cout<<upper<<endl; return ; } C语言 单引号和双引号的区别 、含义不同。 用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。 而用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针。 、大小不同。 用单引号引起的一个字符大小就是一个字节。 而用双引号引起的字符串大小是字符的总大小+,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符'\0'。 数组的输入: int h[] = {,,};
for (int m=; m<; m++)
{
scanf("%d", &h[m]);
}
printf("%d\n", h[]); itoa
  功 能:把一整数转换为字符串
  用 法:char *itoa(int value, char *string, int radix);
  详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
  参数:
  value: 待转化的整数。
  radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-,比如10表示10进制,16表示16进制。
  * string: 保存转换后得到的字符串。
  返回值:
  char * : 指向生成的字符串, 同*string。   备注:该函数的头文件是"stdlib.h" #include   #include   int main()   {   int number = ;   char string[];   itoa(number, string, );   printf("integer = %d string = %s\n", number, string);   return ;   }
atoi
  C语言库函数名: atoi
  功 能: 把字符串转换成整型数
  函数说明: atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 \ 时停止转换,返回整型数。
  原型: int atoi(const char *nptr);
  需要用到的头文件: #include
 程序例:
  )
  #include
  #include
  int main(void)
  {
  int n;
  char *str = "12345.67";
  n = atoi(str);
  printf("string = %s integer = %d\n", str, n);
  return ;
  }
  执行结果   string = 12345.67 integer = 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()); ,string -> CString
CString.format("%s", string.c_str());
用c_str()确实比data()要好.
,char -> string
string s(char *);
你的只能初始化,在不是初始化的地方最好还是用assign().
,CString -> string
string s(CString.GetBuffer());
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. 《C++标准函数库》中说的
有三个函数可以将字符串的内容转换为字符数组和C—string
.data(),返回没有”\“的字符串数组
,c_str(),返回有”\“的字符串数组
,copy() --------------------------------------------------------------- CString与int、char*、char[]之间的转换- - CString与int、char*、char[]之间的转换- - CString互转int 将字符转换为整数,可以使用atoi、_atoi64或atol。
而将数字转换为CString变量,可以使用CString的Format函数。如
CString s;
int i = ;
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[] char a[];
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 = ;
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 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[]; memset(t,,); strcpy(t,mngName.c_str());

http://blog.sina.com.cn/s/blog_63041bb801016b4x.html

C语言中string char int类型转换的更多相关文章

  1. C++ 中 string, char*, int 类型的相互转换

    一.int 1.int 转换成 string 1) to_string函数 —— c++11标准增加了全局函数std::to_string: string to_string (int val); s ...

  2. string,char*,int 之间的转化

    c++中经常遇到string,char*,int之间的相互转化,今天就来整理一下. 以下是转载并修改的内容: 以下是常用的几种类型互相之间的转换 string 转 int先转换为char*,再使用at ...

  3. C语言中strcpy(char *strDest, const char *strScr)字符串复制库函数的理解与分析

    1.原版的strcpy()函数原型 char * strcpy( char *strDest, const char *strSrc ) { assert( (strDest != NULL) &am ...

  4. (C/C++) string / *char / int 基本轉換

    網路上有許 string / *char / integer 基本轉換方式 string 與 *char 互相轉換的方法 /* string to *char */ string ssbuf1 = & ...

  5. 在javascript里 string 和 int 类型转换

    string 转换为int 类型 (1)tostring()方法 var   x=10    a   =   x.toString() //输出为string类型 alert(typeof(a)); ...

  6. VB命令行参数分隔, 类似C语言中的main(int argc, char* argv[])

    VB6.0为了提供命令行参数的支持,提供了Command()接口,于是通过 Command() 函数可以得到所有传入的参数,但是很不友好的是,VB的所有参数都被合在了一起,成为了一个字符串,当有多个参 ...

  7. MFC string char cstring 类型转换

    在Unicode环境下用以下转换: CString z_strCurtTime = _T(""); // 获取当前时间 CTime z_tCurTime = CTime::GetC ...

  8. c语言中的register int

    register int a=1; 明确声明必须要把变量存放在寄存器中,直到变量消失. 一般是默认register,大多数的情况下是不用写register

  9. C++ 中int,char,string,CString类型转换

      1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include <cstdlib> #include <string> std::stri ...

随机推荐

  1. ORACLE-023:令人烦恼的 ora-01722 无效数字

    https://blog.csdn.net/yysyangyangyangshan/article/details/51762746

  2. 【ITOO 5】启用MSDTC后的各种问题,以及解决方案

    导读:在上篇博客中说到,通过启动微软的msdtc来实现分布式事务处理,随后,问题就来了,现在,一一总结这个过程中的问题. 一.已禁用对分布式事务管理器(MSDTC)的网络访问. 1.1,问题描述 已禁 ...

  3. oracle 恢复中的switch datafile all是什么意思

    使用rman进行恢复时,如果使用了set name修改文件路径,那么恢复后,控制文件里面的信息是没有修改该的,如果要同步控制文件的信息那么就需要使用 switch datafile allall这个可 ...

  4. 服务器安装oracle前的内存调整

    #当前内存大小为512MB,安装oracle时执行检查... Checking physical memory requirements ... Expected result: 922MB Actu ...

  5. hdu 1232水

    #include<stdio.h> #define N 1000 int pre[N]; int find(int n ){ return pre[n]=n==pre[n]?n:find( ...

  6. Java 学习(4):基本数据类型,变量类型

    目录 --- 基本数据类型 --- 变量类型 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用 ...

  7. [NOIP2000] 提高组 洛谷P1023 税收与补贴问题

    题目背景 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高于给定的最高价位后,销量以某固定数值递 ...

  8. MYSQL Explain语法

    Explain语法 EXPLAIN SELECT …… 变体: 1. EXPLAIN EXTENDED SELECT …… 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得 ...

  9. 【python】Python的字典get方法:从字典中获取一个值

    转自: http://blog.sina.com.cn/s/blog_6be89284010183xm.html

  10. Android 自己定义UI文章汇总

    <Android ListView分类/分组效果 - 第一种实现方式> <Android ListView分类/分组效果 - 另外一种实现方式> <Android Lis ...