色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    578

    瀏覽量

    20506
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73618
  • string
    +關注

    關注

    0

    文章

    40

    瀏覽量

    4732
收藏 人收藏

    評論

    相關推薦

    C++字符串string

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

    C++STL算法(二)

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

    c++STL算法(三)

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

    C++文件操作

    C++文件操作
    的頭像 發表于 07-21 10:52 ?1108次閱讀
    <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 ?2010次閱讀

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

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

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

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

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

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

    C++入門通用算法

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

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

    為了幫助大家解決這些痛點問題,讓大家領略現代C++美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他親自操刀寫就了這本《
    的頭像 發表于 10-30 16:35 ?839次閱讀
    <b class='flag-5'>C++</b>之父新作帶你勾勒現代<b class='flag-5'>C++</b>地圖
    主站蜘蛛池模板: 国产麻豆福利AV在线观看| 殴美黄色网| 午夜在线观看免费完整直播网| 征服丝袜旗袍人妻| 国产欧美二区综合| 欧美日韩在线成人看片a| 亚洲欧美一区二区三区四区| 成人片在线播放| 美女厕所撒尿ass| 亚洲免费无码av线观看| 法国剧丝袜情版h级在线电影| 久久受www免费人成_看片中文| 特级淫片大乳女子高清视频| 99久久精品国产亚洲AV| 精品少妇爆AV无码专区| 特级毛片内射WWW无码| www.绿巨人| 蜜芽资源高清在线观看| 亚洲无码小格式| 国产女高清在线看免费观看| 秋霞网韩国理伦片免费看| 最近的中文字幕免费完整| 激情床戏视频片段有叫声| 视频一区国产| 扒开她的黑森林让我添动态图| 老阿姨儿子一二三区| 亚洲男人97色综合久久久| 国产福利不卡在线视频| 秋霞在线看片无码免费| 91偷偷久久做嫩草电影院| 久久国产加勒比精品无码| 午夜性色一区二区三区不卡视频 | 国产免费变态视频网址网站| 日本丝袜护士| H揉捏娇喘乳叫床NP调教视频| 毛片网站视频| 最近免费中文字幕大全免费| 久久久久久91香蕉国产| 亚洲午夜一区二区电影院| 黄色三级视频在线| 成人免费视频在线观看|