1霎槐、int與string
- C++:
int轉(zhuǎn)string:string result = to_string(int_target);
string轉(zhuǎn)int:int result = atoi(string_target.c_str());
僅C++11支持to_string,如果編譯報(bào)錯(cuò)‘to_string’ was not declared in this scope谆棺,需要在編譯的時(shí)候加上-std=c++11
如:g++ test.cpp -std=c++11 -o test
- JAVA:
其他轉(zhuǎn)String:toString()或String.valueOf(456)
String轉(zhuǎn)其他:Integer.parseInt("456")栽燕,Boolean.getBoolean("false")
2、string改淑、char[]碍岔、char*
C++
(1)string轉(zhuǎn)char*
string str = "1234";
char* cha = (char*)str.c_str();
(2)char*轉(zhuǎn)string
(3)string轉(zhuǎn)char[]
// 循環(huán)賦值
string str = "1234";
char cha[500];
for (int i = 0; i < str.size(); ++i) {
cha[i] = str[i];
}
cha[str.size()] = '\0';
(4)char[]轉(zhuǎn)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