C++String常用方法


#include <iostream>

int main() {
    char buffer[8];
    std::string s1("Test string ...");
    // s1.copy(容器,截取长度,开始下标)
    size_t len = s1.copy(buffer, 7, 5);
    buffer[len] = '\0';
    std::cout << buffer << std::endl;
    // snprintf(char *s,size_t,format,int) int->string 类型转换 ,返回值是字符长度
    char a[20];
    int i = snprintf(a, 6, "%d", 12345);
    std::cout << i << " : " << a << std::endl;
    // long int strtol(char *nptr,char **endptr,int base) string->long int
    char *endptr;
    char npter[] = "123abc";
    // 返回开头整数部分(十六进制包含字母),剩余部分字符串赋值endptr
    int ret = strtol(npter, &endptr, 10);
    std::cout << "ret:" << ret << std::endl;
    std::cout << "endptr:" << endptr << std::endl;
    /*
     * string其他常用方法:
     * int  capacity() const;  返回当前容量(可存放的元素个数)
     * int  max_size() const;  返回string可存放最大字符串的长度。
     * int  size() const;  返回当前字符串的大小
     * int  length() const;  返回当前字符串的长度
     * bool empty() const;  当前字符串是否为空
     * void resize(int len,char c)  将字符串大小置换为len,用字符c填充不足的地方
     */
    return 0;
}