在c中,並沒有字串這個資料型別,而是使用字元陣列來儲存字串。c字串實際上就是乙個以null('\0')字元結尾的字元陣列,null字元表示字串的結束。需要注意的是:
只有以null字元結尾的字元陣列才是c字串,否則只是一般的c字元陣列。
//字串的初始化
char a[11] = "huanying";
//字串的賦值
strcpy(a,"nihao")
//獲取字串的長度,不包括'\0'在內
c++常用字串函式
char s1="i am a student";
char s2[20]="teacher";
char s3="student";
int result;
char s4[20],*p;
//串長度
int strlen(char *str)
cout
result=strcmp(s2,s3); //result>0
result=strcmp(s2,s2); //result=0
result=strcmp(s3,s2); //result<0
//串定位
char *strchr(char *str,char ch)
p=strchr(s1,'s'); //找到返回字元在字串中的位置,否則返回-1
strcpy(p,s2); //s1為"i am a teacher"
//在乙個串中查詢是否存在和另乙個串相等的子串
//擷取子串形成乙個新串
字串的輸入
(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
C字串和C 字串
在c中,並沒有字串這個資料型別,而是使用字元陣列來儲存字串。c字串實際上就是乙個以null 0 字元結尾的字元陣列,null字元表示字串的結束。需要注意的是 只有以null字元結尾的字元陣列才是c字串,否則只是一般的c字元陣列。c字串定義時可以利用 號進行初始化,但是以後不能利用 對c字串進行賦值。...
C字串和C 字串
from 在c中,並沒有字串這個資料型別,而是使用字元陣列來儲存字串。c字串實際上就是乙個以null 0 字元結尾的字元陣列,null字元表示字串的結束。需要注意的是 只有以null字元結尾的字元陣列才是c字串,否則只是一般的c字元陣列。c字串定義時可以利用 號進行初始化,但是以後不能利用 對c字串...
C字串和C 字串
在c中,並沒有字串這個資料型別,而是使用字元陣列來儲存字串。c字串實際上就是乙個以null 0 字元結尾的字元陣列,null字元表示字串的結束。需要注意的是 只有以null字元結尾的字元陣列才是c字串,否則只是一般的c字元陣列。c字串定義時可以利用 號進行初始化,但是以後不能利用 對c字串進行賦值。...