我的常用

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 stringCut(string str) {
    vector 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 r = stringCut(str);
    for (int i = 0; i < r.size(); i++) {
        cout << r[i] << endl;
    }
}
// 输出如下:
// 12
// 345
// 6
// 78

你可能感兴趣的:(我的常用)