上代码:
// test1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
//#include <vector>
#include <sstream>
using namespace std;
int main(){
//string to int
string str = "12345678";
int number;
number = atoi(str.c_str());
cout<<number;
//int to string
//需要调用到sstream
int hello=4;
stringstream ss;
ss<<hello;
string s=ss.str();
//调用string的方法
cout<<s.c_str()<<endl;
}
代码中调用了string的 c_str() 方法,具体如下:
const char *c_str();
c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针
比如:最好不要这样:
char* c;
string s="1234";
c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理
应该这样用:
char c[20];
string s="1234";
strcpy(c,s.c_str());
这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作
再举个例子
c_str() 以 char* 形式传回 string 内含字符串
如果一个函数要求char*参数,可以使用c_str()方法:
string s = "Hello World!";
printf("%s", s.c_str()); //输出 "Hello World!" 。
string 转化为char * c_str()
void main() {
string word = " 5566" ;
char letter[50];
strcpy(letter,word.c_str());
}
分享到:
相关推荐
各种string类型转换
C++ VS2015 CString string int float各种类型转换,MFC对话框实现对各种类型数据转换并显示
C++里如何将int类型的16进制数转换成string类型[归类].pdf
CString,int,string,char之间的转换
C++Builder String,UNICODE,UTF8,ANSI互转的类,类的互相转换
做ACM时,经常用到string和int的转换,下面的程序: 核心代码: #include #include<string> #include using namespace std; int main() { /////////////////////////// string 转为 int string str=1234; int n;...
CString,int,string,char之间的转换(C/C++),用于新手入门使用,希望能够带来帮助
本文主要介绍了C++中将string类型转化为int类型的方法。具有很好的参考价值,下面跟着小编一起来看下吧
整形转换string型,整形转换string型,整形转换string型,整形转换string型
bool __stdcall stringtohex(unsigned char *inbuf,int inlen,unsigned char * outbuf); bool __stdcall ishex(BYTE *buf,int bl); bool __stdcall isbcd(BYTE *buf,int bl); bool __stdcall encodebcd(BYTE *buf,...
起初是想把12位的十六进制字符串转为十进制,找了一圈发现基本上都是先转换为数值型的中间变量int、long(long long是c++11的,开发环境没到),再转换为十进制字符串。这样会导致一个问题就是溢出,当十六进制表示...
C++中MFC开发CString类转换函数大全,涵盖以下函数: CString stringtoC(string x);//string类转CString类 string Ctostring(CString x);//CString类转string类 double Ctodouble(CString x);//CString类转double类...
本文实例讲述了C++利用stringstream进行数据类型转换的方法。分享给大家供大家参考。具体分析如下: 在C++标准库里面,使用stringstream 可以用于各种数据类型之间的转换 例如string 转 int 代码如下:std::string ...
C++ int,char,string,CString类型转换
时间格式,string int64以及chrono::time_point之间的转换函数 适用于在项目中需要使用到时间操作,但是又不希望引用其他三方库的需求
字符串转换: CString,int,string,char*之间的转换 ;
这个类在头文件中定义, 库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。另外,每个类都有一个对应的宽字符集版本。 简单起见,我主要以stringstream为...
1. 关于使用不同进制的数字字面义(literal)表达整数 2. 使用标准库函数实现从数字字符串到整型的转换 3. 将使用16进制表达的色彩RGB字符串转化为
CString string char int 等类型的相互转换