在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C++入門之string

jf_78858299 ? 來源: QStack ? 作者: 月下西樓 ? 2023-03-17 13:58 ? 次閱讀

前言

前一篇文章我們已經了解了C++中的基本類型,C++還提供了很多抽象數據類型,例如字符串string,string包含多個字符,以及可變長度的vector,vector可以包含多個同一類型的對象。

使用using聲明

在之前的程序中可以看到我們通過命名空間來解決可能的命名沖突,代碼如下

# include
int main() {
    std::cout<<"please enter two numbers:"<

這樣看來每次調用cin和cout時都要帶上命名空間和范圍標識符會顯得比較繁瑣,就像在Java中每次調用方法都要帶上包名和類名一樣,Java使用import關鍵字來引入依賴,在C++中則是使用using關鍵字來解決這個問題,例如上述例子可以通過using std::cin來表示引入std命名空間內的cin。

# include
using std::cin;
using std::cout;
using std::endl;
int main() {
    cout<<"please enter two numbers:"<

如果確定程序中沒有命名沖突,可以直接使用using std,不需要分別一一引入,就像Java中直接import一個類。

# include
using namespace std;
int main() {
    cout<<"please enter two numbers:"<

?需要注意的是頭文件不能使用using,因為頭文件的內容是需要拷貝到引入頭文件的文件當中去,如果多個頭文件使用using引入相同的命名空間,程序無法知道使用哪一個,會引發命名沖突。

?

string

字符串是一系列字符的組合,如果需要使用字符串需要引入頭文件string,其也在std命名空間。

string的定義與初始化

string的定義和初始化方法有以下幾種

# include
# include
using std::string;
using std::cout;
using std::endl;
int main() {
    string s1; //默認初始化,s1是一個空字符串
    string s2 = s1; // s2是s1的拷貝
    string s3(s1); //等同于s2 = s1,s3是s1的拷貝
    string s4("value"); //s4是value的拷貝
    string s5 = "value"; 
    string s6(4, 'c'); // s6是cccc
    cout<

string操作

之前我們曾提到一個對象的類型決定了其存儲的方式以及操作,string支持的操作如下

操作 解釋
os << s 將字符串寫到輸出流
is >> s 從輸入流中讀取
getline(is, s) 從輸入流中讀取一行
s.empty() 判斷是否為空,如果為空返回true,否則返回false
s.size() 返回字符串的長度
s[n] 返回第n個字符
s1 + s2 將s1和s2拼接
s1 = s2 將s2的字符串拷貝給s1
s1 == s2 判斷s1和s2的字符串是否相等
s1 != s2 判斷不相等
< <= > >= 比較是大小寫敏感的

有時候在接受輸入時我我們并不想忽略輸入的空格,這時候可以使用getline來獲取輸入的一整行。

# include
# include
using std::string;
using namespace std;
int main() {
   string line;
   while (getline(cin, line))
   {
    cout<

字符串是由一系列的字符組成,而字符中有一些分類,例如4是一個數字字符,a是一個小寫字母,C++中提供了一些方法可以很方便地判斷字符的類型和做一些操作。

函數 解釋
isalnum 如果是字母或者數字返回true
isalpha 如果是字母返回true
iscntrl 如果是control返回true
isdigit 如果是數字返回true
isgraph 如果不是空格但是可打印返回true
islower 如果時小寫字母返回true
isprint 如果時可打印返回true
ispunct 如果是標點返回true
isspace 如果是空格返回true
isupper 如果是大寫字母返回true
isxdigit 如果時16進制數返回true
tolower 將大寫字母轉化為小寫字母
toupper 將小寫字母轉化為大寫字母

以下代碼就是將hello world轉化為HELLO WORLD

# include
# include
using std::string;
using namespace std;
int main() {
   string line = "hello world";
   for (auto &c : line) {
    c = toupper(c);
   }
   cout<
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    579

    瀏覽量

    20515
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73646
  • string
    +關注

    關注

    0

    文章

    40

    瀏覽量

    4735
收藏 人收藏

    評論

    相關推薦

    C++字符串string

    stringC++編程語言中的字符串。在C++中字符串處理可以使用c語言字符串形式char *,也可以使用string類格式。
    的頭像 發表于 07-10 00:26 ?1288次閱讀
    <b class='flag-5'>C++</b>字符串<b class='flag-5'>string</b>

    C++STL算法(二)

    C++STL算法(二)
    的頭像 發表于 07-18 14:49 ?1051次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之</b>STL算法(二)

    c++STL算法(三)

    c++STL算法(三)
    的頭像 發表于 07-18 15:00 ?1294次閱讀
    <b class='flag-5'>c++</b><b class='flag-5'>之</b>STL算法(三)

    C++文件操作

    C++文件操作
    的頭像 發表于 07-21 10:52 ?1115次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之</b>文件操作

    C++入門基礎教程大全

    C++入門基礎教程大全 C++是一種面向對象的編程語言,但如果系統沒有采用面向對象的技術,C++只能作為面向過程的語言來使用.
    發表于 05-29 10:25 ?0次下載

    C++ 入門自學教程

    C++ 入門自學教程從入門知識開始講起,比較有利于初學者入門掌握,比較好懂,能夠對C++有一個全面認識
    發表于 11-17 10:36 ?0次下載

    Visual C++編程入門視頻

    Visual C++編程入門視頻!資料來源網絡,如有侵權,敬請見諒
    發表于 11-20 15:10 ?6次下載

    c++入門經典習題集

    讓大家全方位傻瓜式學習大話設計模式(3.45MB)c++入門經典習題集+多年積累的類庫。
    發表于 07-13 15:11 ?2次下載

    C++入門教程之C++程序設計的課件資料免費下載

    本文檔的主要內容詳細介紹的是C++入門教程之C++程序設計的課件資料免費下載主要內容包括了:1. 認識C++2. C++的現狀和發展3.
    發表于 12-07 08:00 ?33次下載
    <b class='flag-5'>C++</b><b class='flag-5'>入門</b>教程之<b class='flag-5'>C++</b>程序設計的課件資料免費下載

    如何使用C語言實現動態擴容的string

    眾所周知,C++ 中的string使用比較方便,關于C++ 中的string源碼實現可以看我的這篇文章:源碼分析C++
    的頭像 發表于 10-25 10:59 ?2014次閱讀

    C++函數模板的概念及意義

    一、函數模板的引出:1、c++中有幾種交換變量的方法:(1)定義宏代碼塊(2)定義函數代碼版本一:#include <iostream>#include <string>using namespace
    的頭像 發表于 12-24 15:58 ?868次閱讀

    C++設計新思維-泛型編程與設計應用

    C++設計新思維-泛型編程與設計應用
    發表于 11-16 15:59 ?3次下載

    C++學習筆記c++的基本認識

    自這篇文章我們即將開始C++的奇幻之旅,其內容主要是讀C++ Primer的總結和筆記,有興趣可以找原版書看看,對于學習C++還是有很大幫助的。這篇文章將從一個經典的程序開始介紹C++
    的頭像 發表于 03-17 13:57 ?738次閱讀

    C++入門通用算法

    C++ 是一種強大的編程語言,它提供了許多通用算法,可以用于各種容器類型。這些算法是通過迭代器來操作容器中的元素,因此它們是通用的,可以用于不同類型的容器。在本篇博客中,我們將詳細介紹 C++ 的通用算法。
    的頭像 發表于 05-17 09:40 ?670次閱讀

    C++之父新作帶你勾勒現代C++地圖

    為了幫助大家解決這些痛點問題,讓大家領略現代C++美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他親自操刀寫就了這本《
    的頭像 發表于 10-30 16:35 ?853次閱讀
    <b class='flag-5'>C++</b>之父新作帶你勾勒現代<b class='flag-5'>C++</b>地圖
    主站蜘蛛池模板: 亚洲 欧洲 另类 综合 自拍| 日韩一卡 二卡 三卡 四卡 免费视频| 日韩色爱| www婷婷| 成人国产一区二区三区| 2021国产成人精品国产| 久久看免费视频| 狼人狠狠干| 曰本福利写真片视频在线| 久久综合图片| 黄黄网| 亚洲国产成人久久一区久久| 国产乱通伦| 51精品视频免费国产专区| 五月激情五月婷婷| 7799国产精品久久久久99| 美国69bjfree18vide视频| 色宅男午夜电影在线观看| 亚洲理论片在线观看| 性感美女逼| 毛片免| www.色五月| 四虎影院网站| 网色| 中文字幕首页| 丁香花五月天婷婷| 中文字幕精品一区影音先锋| 日本特黄在线观看免费| 日本一级黄色毛片| 综合精品| www.黄网站| 日韩欧美卡一卡二卡新区| 久久99精品久久久久久园产越南| 国产女同在线观看| 色香焦| 日本三级456| 亚洲狠狠色丁香婷婷综合 | 狠狠干狠狠搞| 天堂资源在线官网bt| 天天爽夜夜爽精品视频一| 中文字幕三级|