原文:std::string 的方法c_str() 和 data() 有什么區別

從C 標准上的解釋來看,只有一點區別: c str 返回一個指向正規C字符串的指針常量,該指針保證指向一個 size 長度的空間,而且最后一個字符肯定是 而 data 返回的指針則保證指向一個size 長度的空間,不保證有沒有null terminate,可能有,可能沒有,看庫的實現了。 有的STL的實現中,二者是完全一樣的,如vs . ,兩個函數的源碼中,data 函數內部調用的是c str ...

2018-04-20 17:40 0 8329 推薦指數:

查看詳情

std::stringdata()和c_str()的區別

datac_str data()和c_str()都是用來獲取底層字符串的首地址的,但是在C++98中規定的是data()返回的字符串不保證有結尾\0,但是c_str()返回的字符串保證有結尾\0,也就是C++98標准在設計字符串的時候是想拋棄C風格的字符串語法的,但是在實際應用中,往往需要 ...

Thu Nov 12 03:26:00 CST 2020 0 564
c++ string c_str() 和data()區別

看下面的英文解釋: const char* c_str ( ) const;Get C string equivalentGenerates a null-terminated sequence of characters (c-string) with the same content ...

Wed Jun 13 05:44:00 CST 2012 0 5675
c++ string c_str() 和data()區別

看下面的英文解釋: const char* c_str ( ) const;Get C string equivalentGenerates a null-terminated sequence of characters (c-string) with the same content ...

Tue Jul 08 01:56:00 CST 2014 0 2741
stringc_str()使用時的坑

先看一段代碼和它的運行結果: 看到結果了么這個運行的結果和我們理解的是不會有差距.對於經驗豐富的開發者可能會微微一笑,但是對於一個剛剛學習的人就開始疑惑了.這里主要說兩個問題: 1、聲明了一個string實例,使用c_str()進行賦值后,可以正常輸出c_str()的值 ...

Sun Apr 01 19:35:00 CST 2018 0 15173
Stringc_str()的用法

c_str函數的返回值是const char*的,不能直接賦值給char*。 c++語言提供了兩種字符串實現,其中較原始的一種只是字符串的 c語言 實現。與C語言的其他部分一樣,它在c++的所有實現中可用,我們將這種實現提供的字符串對象,歸為c-串,每個c-串char*類型 ...

Sat Aug 31 00:25:00 CST 2013 0 2684
stringc_str()、data()、copy(p,n)函數的用法

標准庫的string類提供了3個成員函數來從一個string得到c類型的字符數組:c_str()、data()、copy(p,n)。 1. c_str():生成一個const char*指針,指向以空字符終止的數組。 注: ①這個數組的數據是臨時的,當有一個改變這些數據的成員函數被調用 ...

Mon Mar 26 03:37:00 CST 2012 1 94805
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM