最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++中c_str()的用法示例

 更新時(shí)間:2020年09月27日 10:41:22   作者:chuyaoxin  
這篇文章主要介紹了c++中c_str()的用法示例,幫助大家更好的理解和學(xué)習(xí)C++,感興趣的朋友可以了解下
//標(biāo)準(zhǔn)庫的string類提供了三個(gè)成員函數(shù)來從一個(gè)string得到c類型的字符數(shù)組
//主要介紹c_str
//c_str():生成一個(gè)const char*指針,指向以空字符終止的數(shù)組。
//這個(gè)數(shù)組應(yīng)該是string類內(nèi)部的數(shù)組
#include <iostream>
//需要包含cstring的字符串
#include <cstring>
using namespace std;
 
int main()
{
 //string-->char*
 //c_str()函數(shù)返回一個(gè)指向正規(guī)C字符串的指針, 內(nèi)容與本string串相同
 
 //這個(gè)數(shù)組的數(shù)據(jù)是臨時(shí)的,當(dāng)有一個(gè)改變這些數(shù)據(jù)的成員函數(shù)被調(diào)用后,其中的數(shù)據(jù)就會(huì)失效。
 //因此要么現(xiàn)用先轉(zhuǎn)換,要么把它的數(shù)據(jù)復(fù)制到用戶自己可以管理的內(nèi)存中
 const char *c;
 string s = "1234";
 c = s.c_str();
 cout<<c<<endl;
 s = "abcde";
 cout<<c<<endl;
}

結(jié)果是:

上面如果繼續(xù)用c指針的話,導(dǎo)致的錯(cuò)誤將是不可想象的。就如:1234變?yōu)閍bcde

其實(shí)上面的c = s.c_str(); 不是一個(gè)好習(xí)慣。既然c指針指向的內(nèi)容容易失效,我們就應(yīng)該按照上面的方法,那怎么把數(shù)據(jù)復(fù)制出來呢?這就要用到strcpy等函數(shù)(推薦)。

//標(biāo)準(zhǔn)庫的string類提供了三個(gè)成員函數(shù)來從一個(gè)string得到c類型的字符數(shù)組
//主要介紹c_str
//c_str():生成一個(gè)const char*指針,指向以空字符終止的數(shù)組。
//這個(gè)數(shù)組應(yīng)該是string類內(nèi)部的數(shù)組
#include <iostream>
//需要包含cstring的字符串
#include <cstring>
using namespace std;
 
int main()
{
  //更好的方法是將string數(shù)組中的內(nèi)容復(fù)制出來 所以會(huì)用到strcpy()這個(gè)函數(shù)
  char *c = new char[20];
  string s = "1234";
  // c_str()返回一個(gè)客戶程序可讀不可改的指向字符數(shù)組的指針,不需要手動(dòng)釋放或刪除這個(gè)指針。
  strcpy(c,s.c_str());
  cout<<c<<endl;
  s = "abcd";
  cout<<c<<endl;
}

以上就是c++中c_str()的用法示例的詳細(xì)內(nèi)容,更多關(guān)于c++ c_str()的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • VisualStudio2019構(gòu)建C/C++靜態(tài)庫和動(dòng)態(tài)庫dll的問題 附源碼

    VisualStudio2019構(gòu)建C/C++靜態(tài)庫和動(dòng)態(tài)庫dll的問題 附源碼

    這篇文章主要介紹了VisualStudio2019構(gòu)建C/C++靜態(tài)庫和動(dòng)態(tài)庫(dll)(文末附源碼),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • C語言之詳解靜態(tài)變量static

    C語言之詳解靜態(tài)變量static

    在C語言中static是用來修飾變量和函數(shù)的,這篇文章詳細(xì)介紹了static主要作用,文章中有詳細(xì)的代碼實(shí)例,需要的朋友可以參考閱讀
    2023-04-04
  • C語言數(shù)組應(yīng)用實(shí)現(xiàn)掃雷游戲

    C語言數(shù)組應(yīng)用實(shí)現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語言數(shù)組應(yīng)用實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言判斷字符串是否回文三種方法實(shí)例

    C語言判斷字符串是否回文三種方法實(shí)例

    回文就是字符串中心對稱,從左向右讀和從右向左讀的內(nèi)容是一樣的,下面這篇文章主要給大家介紹了關(guān)于C語言判斷字符串是否回文的三種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • 編寫C語言程序進(jìn)行進(jìn)制轉(zhuǎn)換的問題實(shí)例

    編寫C語言程序進(jìn)行進(jìn)制轉(zhuǎn)換的問題實(shí)例

    這篇文章主要介紹了編寫C語言程序進(jìn)行進(jìn)制轉(zhuǎn)換的問題實(shí)例,文中附錄了一個(gè)各種進(jìn)制間的轉(zhuǎn)換程序代碼,需要的朋友可以參考下
    2015-08-08
  • C++超詳細(xì)講解數(shù)組操作符的重載

    C++超詳細(xì)講解數(shù)組操作符的重載

    C 語言提供了豐富的操作符,有:算術(shù)操作符,移位操作符,位操作符,賦值操作符,單目操作符,關(guān)系操作符,邏輯操作符,條件操作符等。接下了讓我們探究一下數(shù)組操作符的重載
    2022-06-06
  • 利用Matlab復(fù)刻舉牌加油小人生成器

    利用Matlab復(fù)刻舉牌加油小人生成器

    upuptoyou是一款非常有創(chuàng)意的小工具,可以在線生成舉牌小人,看起來很可愛,也比較有趣,并能用于表白,或節(jié)日送祝福等場景。本文將用Matlab復(fù)刻這一小工具,需要的可以參考一下
    2022-03-03
  • c++中的static修飾符示例詳解

    c++中的static修飾符示例詳解

    在c++中,靜態(tài)成員是屬于整個(gè)類而不是某個(gè)對象,靜態(tài)成員變量只存儲(chǔ)一份供所有對象共用,下面這篇文章主要給大家介紹了關(guān)于c++中static修飾符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • 詳解C++文件讀寫操作

    詳解C++文件讀寫操作

    這篇文章主要為大家詳細(xì)介紹了C++文件讀寫操作,感興趣的小伙伴們可以參考一下
    2016-03-03
  • C++模擬實(shí)現(xiàn)string的示例代碼

    C++模擬實(shí)現(xiàn)string的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C++模擬實(shí)現(xiàn)string的相關(guān)資料,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C++有一定的幫助,需要的可以參考一下
    2022-11-11

最新評論

宝应县| 织金县| 安仁县| 廊坊市| 黑龙江省| 宜宾市| 乐至县| 水城县| 乡城县| 柳州市| 太康县| 万安县| 托克托县| 新巴尔虎右旗| 额尔古纳市| 洪泽县| 东乌珠穆沁旗| 屯留县| 高台县| 彩票| 彭州市| 钟祥市| 方正县| 香格里拉县| 金川县| 牙克石市| 区。| 衡阳市| 宣化县| 济源市| 金秀| 云梦县| 金塔县| 河南省| 陕西省| 普格县| 兰坪| 平阴县| 泾阳县| 山西省| 兴文县|