日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++之string类小结

發布時間:2023/11/30 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++之string类小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1)C++字符串和C字符串的轉換

? ? ? ? ?C++提供了三種方法可以將C++字符串轉化為C字符串,分別是data(),c_str(),copy()成員函數來實現。

? ? ? ? ?1)data()是以字符數組的形式返回字符串內容,但并不添加‘\0’;

? ? ? ? ? 2)c_str()生成一個const char*指針,指向一個空字符的數組,數組中的數據是臨時的,當有一個改變這些數據的成員函數被調用時,數據就會失效(比如說調用c_str()之后字符串發生變化,則c_str()生成的指針指向的數據也會發生變化)

? ? ? ? ?3)copy(p,n,size_type_off=0)表明從string類型對象中至多復制n個字符到字符指針p指向的空間,默認指定位置開始(0),返回真正從對象中復制的字符。(p中一定要確保能夠存儲n個字符)。

(2)string和int類型的相互轉換

? ? ? ? ? 1)int類型轉換為string類型

? ? ? ? ? ? ? ? ? a)可以通過數據流借助緩沖區的概念

? ? ? ? ? ? ? ? ? b)借助snprintf()函數

? ? ? ? ? ? ? ??? int snprintf(char*str,size_t size,const char*format,...);//后面主要的是可變參數,是一些變換的格式和對應需要變換的對象

? ? ? ? ? ? ? ? ? ?功能:如果格式化字符長度小于size,則全部復制,并在末尾添‘\0’;如果大于size,則只復制其中的size-1,并在末尾添零;函數成功返回寫入字符串的長度,失敗返回負值;

? ? ? ? ? 2)string類型轉化成int類型

? ? ? ? ? ? ? ? ?使用strtol(str to long),strtoll(str to long long),strtoul(str to unsigned long),strtoull(str to unsigned long long)函數

? ? ? ? ? ? ? ? ?long int strtol(const char*nptr,char**endptr,int base);

? ? ? ? ? ? ? ? ? 實現字符串nptr根據base轉換成各種類型;參數base的范圍為2~36或0,如果參數指定為0,則會根據具體情況判斷進制,如果前面的字符是0x則為16進制,如果是0則為八進制,否則為10進制;函數執行過程中會掃描參數nptr字符串,跳過前面的空格式串,直到遇上數字或正負號開始轉換,遇到非法數字或字符串結束時結束轉換endptr返回的是遇到不合條件返回的字符串,如果正常則為空

?

總結

以上是生活随笔為你收集整理的C/C++之string类小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。