string轉char*/char[]

string轉char*/char[]
轉char*

主要有三種方法能夠將str轉換爲char*類型,分別是:data(); c_str(); copy();c++

1.data()

data()僅返回字符串內容,而不含有結束符'\0'ide

    std::string s = "active";

    //const char* p = s.data();
    char* p = (char*)s.data();

  

2.c_str()

c_str()函數返回一個指向C字符串的指針,該指針指向內存內容和string 相同。由於c語言不支持string類型,故爲了在c++兼容C字符串,提供了c_str()函數來實現轉換。注意必定要使用strcpy()函數來操做c_str();c_str()返回的是一個臨時指針,不能對其進行操做。函數

    std::string s = "active";
    const char* p = s.c_str();

  

3.copy()方法

    std::string s = "active";
    char p[10];

    s.copy(p,2,2);
    *(p + 2) = '\0';

  

string轉char[]
    std::string s = "native";
    char p[8];
    for (int i = 0; i < s.length(); i++)
        p[i] = s[i];
    p[s.length()] = '\0';
相關文章
相關標籤/搜索