c++中c_str()的用法是什么

c++
小億
107
2024-04-07 18:05:34

在C++中,c_str()是一個(gè)成員函數(shù),可用于將std::string對(duì)象轉(zhuǎn)換為C風(fēng)格的字符串(以null結(jié)尾的字符數(shù)組)。這在需要將std::string對(duì)象傳遞給接受C風(fēng)格字符串作為參數(shù)的函數(shù)或庫(kù)時(shí)非常有用。

例如:

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, world!";
    
    const char* cstr = str.c_str();
    
    std::cout << "C-style string: " << cstr << std::endl;
    
    return 0;
}

請(qǐng)注意,c_str()函數(shù)返回的指針指向std::string對(duì)象內(nèi)部的字符數(shù)組,因此當(dāng)std::string對(duì)象被銷(xiāo)毀時(shí),該指針將變?yōu)閼铱?。因此,?yīng)謹(jǐn)慎使用c_str()函數(shù),確保在其返回的指針不再需要時(shí)不再使用。

0