亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C字符串與C++字符串的深入理解

2020-01-26 16:03:11
字體:
來源:轉載
供稿:網友
在C中,并沒有字符串這個數據類型,而是使用字符數組來保存字符串。C字符串實際上就是一個以null('/0')字符結尾的字符數組,null字符表示字符串的結束。需要注意的是:只有以null字符結尾的字符數組才是C字符串,否則只是一般的C字符數組。

C字符串定義時可以利用"="號進行初始化,但是以后不能利用"="對C字符串進行賦值。對C字符串的操作需要通過"string"文件中定義的字符串處理函數。例如:
//字符串的初始化
char a[11] = "huanying";
//字符串的賦值
strcpy(a,"nihao")
//獲取字符串的長度,不包括'/0'在內
strlen(a);
printf("%s",a);
在C中也可以使用字符指針來訪問一個字符串,通過字符指針指向存放字符串數組的首元素地址來進行訪問.
char *a = "nihao";
printf("%s",a);
在C++中則把字符串封裝成了一種數據類型string,可以直接聲明變量并進行賦值等字符串操作。
以下是C字符串和C++中string的區別:
                            C字符串                                  string對象
所需的頭文件名稱            <string>或<string.h>            <string>或<string.h>
為什么需要頭文件            為了使用字符串函數                  為了使用string類
如何聲明                        char name[20];                    string name;
如何初始化                     char name[20]="nihao";      string name = "nihao";
必須聲明字符串長度么?  是                                         否
使用一個null字符么?      是                                         否
怎樣實現字符串賦值        strcpy(name,"John");           name = "John";
其他優點                       更快                                      更易于使用,優選方案
可以賦一個比現有字符更 不能                                      可以
長的字符串么? 
C++常用字符串函數
char s1[]="I am a student";
char s2[20]="teacher";
char s3[]="student";
int result;
char s4[20],*p;
(1)串長度 int strlen(char *str)
cout<<strlen(s1)<<endl; 輸出14
cout<<strlen(s2)<<endl; 輸出7
(2)串拷貝 char *strcpy(char *str1,char *str2)
strcpy(s4,s2);   //s4為"teacher"
(3)串連接 char *strcat(char *str1,char*str2)
strcat(s2,s3); //s2為"teacherstudent"
(4)串比較 int strcmp(char *str1,char *str) //比較的是對應字符的ASCII碼值,如果str1>str2,返回1
result=strcmp(s2,s3);   //result>0
result=strcmp(s2,s2);   //result=0
result=strcmp(s3,s2);   //result<0
(5)串定位 char *strchr(char *str,char ch)
p=strchr(s1,'s');    //找到返回字符在字串中的位置,否則返回-1
strcpy(p,s2);      //s1為"I am a teacher"
(6)在一個串中查找是否存在和另一個串相等的子串
(7)截取子串形成一個新串
字符串的輸入
(1)方法一:
使用輸入操符來填充一個C字符串變量
例如:
char a[80];
cin>>a;
注:以這種方式來讀取C字符串時,會忽略最初的空白字符(空格、制表符和換行符),而且輸入會在下一個空格或者換行符處停止。
(2)方法二:使用預定義函數getline獲取整行輸入(包括空格)
getline函數有兩個參數:第一個參數用于接收輸入的C字符串變量;第二個參數用于規定getline最多能接收的字符個數。
例如:
char a[80];
cin.getline(a,80);
當遇到行結束的時候,輸入才會停止。
C++ string類的輸入
(1)方法一:
和C字符串輸入的方法一相同。
(2)方法二:使用getline函數。
例如:
string a;
getline(cin,a);
string對象和C字符串之間的轉換
可以將C字符串存儲在string類型的變量中,例如:
char a[] = "nihao";
string b;
b=a;
但string對象不能自動的轉換為C字符串,需要進行顯式的類型轉換,需要用到string類的成員函數c_str().
例如:
strcpy(a,b.c_str());
字符串到數字的轉換
atoi函數獲取一個C字符串參數,返回對應的int值。如果參數不與一個int值對應,atoi就會返回0。atoi函數在文件為cstdlib的庫中。如果數字太大,不能轉換成int類型的值,可以使用atol將字符串轉換為long類型的值。
例如:
atoi("1234");   //返回整數1234
atoi("#123");   //返回0
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美专区中文字幕| 日韩精品视频在线播放| 国产精品日日摸夜夜添夜夜av| 国产成人精品日本亚洲| 国产91免费看片| 亚洲高清不卡av| 久久久久久久97| 亚洲国产精品推荐| 91在线免费视频| 热草久综合在线| 久久久噜噜噜久久| 久久久噜噜噜久久久| 欧美在线一区二区三区四| 亚洲午夜久久久久久久| 国产91精品最新在线播放| 日韩精品在线免费观看视频| 国内伊人久久久久久网站视频| 久久久中文字幕| 亚洲精品中文字幕有码专区| 91人人爽人人爽人人精88v| 成人性教育视频在线观看| 中文字幕精品www乱入免费视频| 欧美亚洲成人xxx| 亚洲情综合五月天| 神马久久久久久| 欧美xxxx18性欧美| 粉嫩老牛aⅴ一区二区三区| 国产精品第10页| 日韩免费电影在线观看| 亚洲jizzjizz日本少妇| 正在播放欧美视频| 亚洲国产婷婷香蕉久久久久久| 亚洲精品美女久久久| 成人字幕网zmw| 国产精品扒开腿爽爽爽视频| 欧美视频在线免费| 亚洲国产小视频| 国产午夜精品一区理论片飘花| 久久久久久国产精品三级玉女聊斋| 国产91久久婷婷一区二区| 欧美丝袜第一区| 国产91精品网站| 欧美视频中文字幕在线| 亚洲在线免费观看| 51ⅴ精品国产91久久久久久| 欧美有码在线观看| 日韩电影大全免费观看2023年上| 北条麻妃一区二区在线观看| 国产精品精品视频| 91精品中国老女人| 韩国精品美女www爽爽爽视频| xxxxxxxxx欧美| 久久久久久久久久久av| 久久久久久午夜| 国产精品影片在线观看| 91a在线视频| 色777狠狠综合秋免鲁丝| 日韩欧美在线播放| 亚洲精品日韩激情在线电影| 97国产精品久久| 欧美日韩综合视频网址| 日本精品久久久久影院| 热久久免费国产视频| 久久久久国产一区二区三区| 亚洲最大av网站| 日韩亚洲在线观看| 欧美另类老女人| 欧美极品少妇xxxxⅹ裸体艺术| 国产亚洲一区二区在线| 伊人久久五月天| 姬川优奈aav一区二区| 中文字幕日本精品| 欧美激情视频网站| 欧美久久精品一级黑人c片| 亚洲精品国产精品自产a区红杏吧| 日韩大陆欧美高清视频区| 成人av色在线观看| 久久亚洲欧美日韩精品专区| 亚洲国产精品久久91精品| 在线日韩日本国产亚洲| 久久琪琪电影院| 亚洲精品永久免费| 久久久久久999| 97在线观看视频国产| 欧美激情一级欧美精品| 久久久久久亚洲精品不卡| 亚洲欧美国产精品| 国产亚洲精品久久久久久| 久久精品99国产精品酒店日本| 精品亚洲永久免费精品| 97久久国产精品| www国产91| 日韩成人在线电影网| 日韩中文字幕网| 亚洲精品成人网| 欧美激情免费看| 欧美黄色片视频| 欧美天天综合色影久久精品| 26uuu久久噜噜噜噜| 日本一本a高清免费不卡| 这里只有精品在线观看| 日韩成人性视频| 最新69国产成人精品视频免费| 久久久之久亚州精品露出| 日韩中文在线视频| 日韩在线激情视频| 亚洲一级免费视频| 黄色成人在线免费| 在线精品视频视频中文字幕| 黄色精品在线看| 不卡av电影在线观看| 97超级碰碰人国产在线观看| 在线亚洲国产精品网| 国模私拍一区二区三区| 57pao精品| 国产日韩在线亚洲字幕中文| 91久久久久久久一区二区| 日韩av在线网站| 日韩精品中文字幕有码专区| 少妇av一区二区三区| 久久手机精品视频| 欧美超级乱淫片喷水| 久久久久久久久爱| 亚洲美女av黄| 97人人爽人人喊人人模波多| 成人久久久久爱| 欧美激情中文网| 欧美一性一乱一交一视频| 2020国产精品视频| 国产97在线播放| 亚洲精品国产免费| 欧美激情国产日韩精品一区18| 久久精品一区中文字幕| 亚洲在线第一页| 日韩国产高清视频在线| 国产精品青青在线观看爽香蕉| 日韩女在线观看| 国产精品极品美女粉嫩高清在线| 久久精品美女视频网站| 国产最新精品视频| 午夜精品久久久久久久99热浪潮| 久久久久成人精品| 国模私拍视频一区| 亚洲黄色www网站| 午夜精品一区二区三区在线播放| 国产成人久久久精品一区| 96sao精品视频在线观看| 国产精品无av码在线观看| 久久久久久久久久久免费| 欧美一级bbbbb性bbbb喷潮片| 欧美激情第99页| 日韩在线激情视频| 国语自产精品视频在线看抢先版图片| 红桃视频成人在线观看| 国产在线一区二区三区| 欧美孕妇与黑人孕交| 日韩亚洲综合在线| 亚洲综合日韩在线| 国产精品免费视频久久久| 亚洲男女自偷自拍图片另类| 欧美日韩视频在线| 亚洲另类xxxx| 日日骚av一区| 日韩禁在线播放|