char*,const char*, string,int之间的转换

      工作也有小半年了,一直没有停止过前进的步伐,却没有记录自己成长过程中的种种,终归会有些

遗憾,今日写代码遇到一个小问题,上网查了查,也一大堆,总之还是记录下来为好吧。


将char数组转换为string:


#include <iostream>
using namespace std;

int main()
{
	char buf[] = "zheng";
        string snam(buf);
	cout << snam.c_str();
	getchar();
	return 0;
}

用一次编辑一次,也没整理

string转化为char *

#include<iostream>


int main()
{
	std::string myname = "zhengYun";
	int len = myname.length();
	char *dest;
	dest = (char *)malloc((len + 1)*sizeof(char));//必需申请内存
	strcpy(dest, myname.c_str());
	std::cout << dest<<std::endl;
	free(dest);//必须释放
	system("pause");
	return 0;
}

char*转化为int

#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{
    char *p = "123456";
    int x;
    x = atoi(p);
    cout << x;
    system("pause");
	return 0;
}


const char和string转换

(1) const char*转换为 string,直接赋值即可。

     EX: const char* tmp = "tsinghua".

            string s = tmp;

(2) string转换为const char*,利用c_str()

    EX:  string s = "tsinghua";

           const char*tmp = s.c_str();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值