C++中int型与string型互相转换
来源:互联网 发布:c语言之父 编辑:程序博客网 时间:2024/05/20 14:27
1.常规方法
**int转string**int n = 0;std::stringstream ss;std::string str;ss<<n;ss>>str;**string转int**std::string str = "123";int n = atoi(str.c_str());
#include "stdafx.h"#include <string>#include <sstream>using namespace std;void main(){ // int 转 string stringstream ss; int n = 123; string str; ss<<n; ss>>str; // string 转 int str = "456"; n = atoi(str.c_str());}
2.C++11方法
#include<string>#include<iostream>using namespace std;int main(){ int i = 42; string s = to_string(i); cout << s << endl; string sint = "56"; int n = stoi(sint); cout << n << endl; return 0;}
3.参考:
#include <string> //使用C++标准库的string类时using namespace std; //同上#include <sstream>#include <iostream>#include <stdlib.h> //要将string类和int类型直接转换最好有这些包含,//因为自己写一个转换函数比较方便,函数定义参考如下string getstring ( const int n ){std::stringstream newstr;newstr<<n;return newstr.str();}string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString.format(”%s”, char*);char 转 stringstring s(char *);string 转 char *char *p = string.c_str();CString 转 stringstring s(CString.GetBuffer());1,string -> CStringCString.format(”%s”, string.c_str());用c_str()确实比data()要好.2,char -> stringstring s(char *);只能初始化,在不是初始化的地方最好还是用assign().3,CString -> stringstring s(CString.GetBuffer());GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.《C++标准函数库》中说的有三个函数可以将字符串的内容转换为字符数组和C—string1.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 hereCStringss=”1212.12″;int temp=atoi(ss);CString aa;aa.Format(”%d”,temp);AfxMessageBox(”var is ” + aa);}sart.Format(”%s”,buf);CString互转char*///char * TO cstringCString 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));
阅读全文
0 0
- C++int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- C++中int型与string型互相转换
- String 与 int 互相转换
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
- Java中int与String类型的互相转换
- 浅析 java中 Int 与 String 互相转换问题
- C# Enum与int,string互相转换
- PCA算法testSet测试集
- zcmu--1199: 英雄无敌3(2)
- 普元BPS如何获取流程API对应生成的SQL语句?
- html5怎样调用手机摄像头或者相册
- 小白学tkinter(事件之(事件序列))
- C++中int型与string型互相转换
- 从一道编程题看JS字符串连接性能
- 调整Linux的网络栈(Buffer Size)来提升网络性能
- 山东省第八届ACM省赛 G 题 sum of power 解答
- API之信息隐藏
- 已知栈的压入顺序,判断弹出顺序是否正确
- 史上最全的maven的pom.xml文件详解
- bootstrap popover与a标签点击事件冲突,需要点击两下才能显示问题
- angularjs获取cookies的token