1. 互相轉換:
c++ ---> c : cppstr.c_str()
c ---> c++ : string cppstr = string(cstr)
列印時、cout 都可以列印、如果用 printf 等方法那需要 %s
2. c++ string 的方法:
直接點出來,有多少是多少
3. c 風格 string 的操作:
定義一個 c 風格串有兩(三)種方法
給個字符陣列讓編譯器去計算應該有多大,然后把每個字符復制到陣列中 (或者可以開個很大的陣列,自己寫一堆字符進去,然后末尾追加 '/0' )
給個常指標指向串的地址、然后拿str1 不能去改這個串!這個串就是只讀的了!

不寫長度、讓編譯器去推測,那么會多開一個空間放 \0

如果想把一個東西格式化后放入字符陣列,可以用 sprintf 、但現在推薦使用安全版本、操作后會自動在末尾加 \0

假如偏偏不要 \0 會怎么樣?

上一種寫法編譯器能發現,那咱們偷渡一下、發現果然就炸了、其實 c 庫操作字串的函式都需要拿 \0 去判斷是否到頭!!!

總結:C字串一定是字符陣列、但只有 末尾(或中間) 帶有 ‘\0’ 的字符陣列才稱的上是C字串
C串的靈魂就在 \0 的處理!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/510840.html
標籤:C++
上一篇:有效字母異位詞
