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. sql中getdate()&convert的使用

    1,sql中getdate()函数的使用: getdate()函数从SQL Server中返回当前的时间和日期,如: insert into T3(ID,AddTime) values(,GETDAT ...

  2. Photoshop保存的各种格式详解

    1.PSD(*.PSD) PSD格式是Adobe Photoshop软件自身的格式,这种格式可以存储Photoshop中所有的图层,通道.参考线.注解和颜色模式等信息.在保存图像时,若图像中包含有层, ...

  3. Shell脚本问题详解

    例1:找出当前系统中端口大于1024的程序! 使用netstat -tuln查询出的结果如下,需要输出红色字体的行: [root@localhost ~]# netstat -tuln Active ...

  4. Idea中配置svn时报 Can't use Subversion command line client: svn.Errors found while svn working copies detection.

    https://www.cnblogs.com/wqh17/p/6881483.html

  5. [luoguP1360] [USACO07MAR]黄金阵容均衡Gold Balanced L…

    传送门 真的骚的一个题,看了半天只会个前缀和+暴力.. 纯考思维.. 良心题解 #include <cstdio> #include <cstring> #include &l ...

  6. eclipse pom.xml 报错org.apache.maven.plugin.war.WarMojo的解决办法

    如题,maven项目eclipse提示pom.ml有错,提示信息就是org.apache.maven.plugin.war.WarMojo. 然后执行 maven install 出现如下错误提示 [ ...

  7. CodeForces - 586D Phillip and Trains

    这道题是一道搜索题 但是 如果没有读懂或者 或者拐过弯 就很麻烦 最多26个火车 那么每一个周期 (人走一次 车走一次) 就要更改地图 的状态 而且操作复杂 容易超时 出错 利用相对运动 计周期为 人 ...

  8. 【HDOJ6305】RMQ Similar Sequence(笛卡尔树)

    题意: 给定一个数组a,现在存在一个数组b,其元素值在[0,1]随机生成 若对于a,b,任意rmq问题的最值出现在同一个数组中的位置,则数组b的价值为∑b[i],否则为0,求数组b的期望价值 n< ...

  9. jquery制作图片瀑布流点击按钮加载更多内容

    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> ...

  10. 创建SSH keys

    1.检查是否已经有SSH Key存在 windows: type "%userprofile%\.ssh\id_rsa.pub" Linux: cat ~/.ssh/id_rsa. ...