1、int与string
- C++:
int转string:string result = to_string(int_target);
string转int:int result = atoi(string_target.c_str());
仅C++11支持to_string,如果编译报错‘to_string’ was not declared in this scope,需要在编译的时候加上-std=c++11
如:g++ test.cpp -std=c++11 -o test
- JAVA:
其他转String:toString()或String.valueOf(456)
String转其他:Integer.parseInt("456"),Boolean.getBoolean("false")
2、string、char[]、char*
C++
(1)string转char*
string str = "1234";
char* cha = (char*)str.c_str();
(2)char*转string
(3)string转char[]
// 循环赋值
string str = "1234";
char cha[500];
for (int i = 0; i < str.size(); ++i) {
cha[i] = str[i];
}
cha[str.size()] = '\0';
(4)char[]转string
直接赋值
3、字符串切割
- C++
vector<string> stringCut(string str) {
vector<string> result;
int begin = 0;
while (1) {
int end = str.find("_", begin);
if (end == -1) {
end = str.size();
}
result.push_back(str.substr(begin, end - begin));
begin = end + 1;
if (end == str.size()) {
break;
}
}
return result;
}
int main() {
string str = "12_345_6_78";
vector<string> r = stringCut(str);
for (int i = 0; i < r.size(); i++) {
cout << r[i] << endl;
}
}
// 输出如下:
// 12
// 345
// 6
// 78