String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別

Slides:



Advertisements
Similar presentations
動動腦時間 — 腦筋急轉彎 —. 1. 有三個小朋友在猜 拳,一個出石頭,一 個出布,一個出剪刀, 請問三個人共有幾根 指頭? 答案: 60 根.
Advertisements

第一單元 建立java 程式.
會計資訊系統 專章A.
第三章 調整與編表.
課程設計者:新北市育林國中 林憶辰老師 分享者:林慧娟
程序设计实习 3月份练习解答
2016中重卡网络规划 中重卡营销部 2016年6月.
補充: Input from a text file
课程概况 加入班级QQ群,便于及时沟通和资料共享。 课程教学的组成:
第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
File Access 井民全製作.
C++程序设计 王希 图书馆三楼办公室.
C++语言程序设计教程 第7章 类与对象 第7章 类与对象.
走向C++之路 WindyWinter WindyWinter感谢诸位前来捧场。
13 C++字串 字串與數值轉換函數 13.1 C++字串類別 建立C++字串 13-2
Visual C++ introduction
資料大樓 --談指標與陣列 綠園.
第8章 字元與字串處理 8-1 C語言的字元檢查函數 8-2 指定字串的初值 8-3 指標與字串 8-4 字串處理 8-5 C語言的字串函數.
程序设计II 第三讲 字符串处理.
String C語言-字串.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第五章 模 板.
Java程式概觀.
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
数据结构 第4章 串.
Object-Oriented Programming in C++ 第一章 C++的初步知识
類別(class) 類別class與物件object.
C++语言程序设计教程 第7章 类与对象 第7章 类与对象.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
C++程序设计 string(字符串类) vector(容器类).
Java 程式設計 講師:FrankLin.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
程式設計實習課(四) ----C 函數運用----
第一單元 建立java 程式.
Chapter 5 複合資料型態.
C++大学基础教程 第5章 数组 北京科技大学 信息基础科学系.
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
C++面向对象程序设计 谭浩强编著 授课教师:姬广永 QQ: 学习网站:
雲端計算.
Chapter 2 & Chapter 3.
JAVA 程式設計 資訊管理系 - 網路組.
Speaker: Liu Yu-Jiun Date: 2009/4/29
第九章 字串.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
挑戰C++程式語言 ──第8章 進一步談字元與字串
物件導向程式設計 CH2.
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
樣版.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C++大学基础教程 第10章 运算符重载 北京科技大学 2019/5/7 北京科技大学.
挑戰C++程式語言 ──第7章 輸入與輸出.
第七課: 常見的企業保險保障 I 介紹課題 主要關於企業常用的各種保險保障 會分兩部份,用兩個課堂的時間進行討論.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
第 8 章 标准模板库STL 陈哲 副教授 南京航空航天大学 计算机科学与技术学院.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
適用於多選一 可減少if 與 else配對混淆的錯誤.
C++面向对象程序设计 谭浩强编著 授课教师:姬广永 学习网站:
Oop7 字串 String.
變數與資料型態  綠園.
Array(陣列) Anny
資料!你家住哪裏? --談指標 綠園.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
第四章 買賣業會計.
台大資訊工程學系 資料系統訓練班 第119期 吳晉賢
InputStreamReader Console Scanner
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別 string類別是basic_string樣板類別的一特殊類別. basic_string類別分為兩個特殊類別, 其一是string, 另一是wstring

為何需要String類別 s1=“one”; // 可乎? s2=“two”; s3=s1+s2; //可乎? char s1[80], s2[80], s3[80]; s1=“one”; // 可乎? s2=“two”; s3=s1+s2; //可乎?

為何需要String類別 必須使用 strcpoy(s1,”one”); strcpoy(s2,”two”); strcpoy(s3,s1); strcat(s3,s2); 因為null結尾的字串並不能使用C++的標準運算字, 所以才有string類別產生.

為何需要String類別 一致性(字串已成為已定義的資料型態) 方便性(您可以使用標準C++的運運子) 安全性(不會使用超過陣列的上限) string類別並不屬於STL中的一部份,但為C++定義的另外一種容器,若要存取 string類別,需在程式碼中加入<string>標頭檔

使用String類別 string的建構函數 String(); String(const char *str); String(const string &str); string可以使用的運算子 = 指定; + 字串連接; += 字串連接及指定; == 等於; != 不等於; < 小於; <= 小於等於; > 大於; >= 大於等於; [] 陣列註標; << 輸出; >> 輸入;

使用String類別 example: string+string; string+c-string; c-string+string;

String類別的成員函數 append(); //將一字串的一部份加到另一字串後 insert(); //插入一字串 assign(); //將一字串指定給另一字串 append(); //將一字串的一部份加到另一字串後 insert(); //插入一字串 replace(); //取代字串 erase(); //移除字串 find(); //發現字串 compare(); //字串比較

String example #include<iostream> #include<string> Using namespace std; Int main() { string str1(“Demonstrating strings”); string str2(“String Two”); string str3; }

String example #include<iostream> #include<string> Using namespace std; Int main() { string str1(“Demonstrating strings”); string str2(“String Two”); string str3; str3=str1;//assign a string cout<<str1<<“\n”<<str3<<“\n”; str3=str1+str2; cout<<str3<<“\n”; if(str3>str1) cout<<“str3 >str1\n”; if(str3==str1+str2) cout<<“str3=str1+str2\n”; str1=“This is a normal string\n”; cout<<str1; string str4(str1); cout<<str4; cout<<“Enter a string:”; cin>>str4; return 0; }

String example cout<<“Remove 7 characters from str1:\n”; #include<iostream> #include<string> Using namespace std; Int main() { string str1(“This is a test”); string str2(“ABCDEFG”); cout<<“Initial string:\n”; cout<<“str1:”<<str1<<endl; cout<<“str2:”<<str2<<“\n\n”; cout<<“Insert str2 into str1:\n”; str1.insert(5,str2); cout<<str1<<“\n\n” cout<<“Remove 7 characters from str1:\n”; str1.earse(5,7); cout<<str1<<“\n\n”; cout<<“Replace 2 characters instr1 with str2:\n”; cout<<str1<,endl; return 0; }