QString string char* int互相转化

注:QString的tostdstring函数中文会乱码,需要使用tolocal8Bit函数转化

1 std::string转为QString(全英文字符)


std::string s = "hello world";
QString qs = QString::fromStdString(s);

2 std::string转为QString(中文字符)

std::string s = "hello 世界";
QString qs = QString::fromLocal8Bit(s.data());

3  QString转为std::string(全英文字符)

QString qs = "coder";
std::string s = qs.toStdString();

4 QString转为std::string(中文字符)

 QString qs = "你好,world";
 QByteArray cdata = qs.toLocal8Bit();
 std::string s = std::string(cdata);

5 QString转为int

QString qs = "123";
int d = qs.toInt();

6 int转为QString

int d = 18;
QString qs = QString::number(d);

7 std::string转为int
std::string s = "28";
int d = atoi(s.c_str());

 8 int 转为std::string

// int to string
int d = 123;
// method 1
char *intStr = itoa(d);
std::string s = string(intStr);
// method 2
stringstream ss;
ss << d;
std::string s = ss.str();
// method 3
std::string s = std::to_string(d);

9 std::string 转为char *
std::string str = "string";
const char *cstr = str.c_str();

 

10 char*转为std::string

char *cStr = "C++";
std::string Str = std::string(cStr);
原文地址:https://www.cnblogs.com/LuckCoder/p/10879844.html