工作也有小半年了,一直没有停止过前进的步伐,却没有记录自己成长过程中的种种,终归会有些
遗憾,今日写代码遇到一个小问题,上网查了查,也一大堆,总之还是记录下来为好吧。
将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();