c 中string的常用方法

2021-09-13 12:40:09 字數 3177 閱讀 8077

string常用操作

#include#includeusing namespace std;

int main()

find

//find函式返回型別 size_type

string s("1a2b3c4d5e6f7jkg8h9i1a2b3c4d5e6f7g8ha9i");

string flag;

string::size_type position=0;

//find 函式 返回e 在s 中的下標位置

while ((position=s.find("e",position))!=string::npos)

cout << "s1替換後的結果: " << s1 << endl;

data(),但是不會在char*後面加/0

string str = "hello";

const char* p = str.c_str();//加const 或者用char * p=(char*)str.data();的形式

for (int i = 0; i < strlen(p); ++i)

printf("%c ",p[strlen(p)]);

printf("%s \n",p);//%s只能輸出char*

c_str()方法,會複製/0

copy()方法

char *直接轉string

string s;

char *p = "hello";//直接賦值

s = p;

string和char

string pp = "dagah";

char p[8];

int i;

for( i=0;i9.string的遍歷

string s1 = "abcdefg";

//1 陣列方式

for (int i=0; i10.字串的插入

string s1 = "hello1 hello2 hello1";

int it = s1.find('l',0);

if (it != s1.npos )

cout << "s1刪除l以後的結果:" << s1 << endl;s1.erase(s1.begin(), s1.end() );

cout << "s1全部刪除:" << s1 << endl;

cout << "s1長度 " << s1.length() << endl;

string s2 = "bbb";

s2.insert(0, "aaa"); // 頭插法

s2.insert(s2.length(), "ccc");

cout << s2 << endl;

轉字串(格式化字串)

char  s[10];

sprintf(s,"%d%s",10,"aaa");

printf("%s",s);

字串轉數字

char  s[10]="10000";

int res=atoi(s);

printf("%d \n",res);

字串比較函式,一般形式為strcmp(字串1,字串2)。

strncmp比較前面n個字串是否相等

char *strchr(const char *str, int c) 在引數 str 所指向的字串中搜尋第一次出現字元 c(乙個無符號字元)的位置

const char str = "";

const char ch = '.';

char *ret;

ret = strchr(str, ch);

printf("|%c| 之後的字串是 - |%s|\n", ch, ret);

printf("|%c| 在字串中的首次出現位置是 - |%d|\n", ch, ret-str);

while ((ret = strchr(ret, ch))!=null)

char *strrchr(const char *str, int c) 在引數 str 所指向的字串中搜尋最後一次出現字元 c(乙個無符號字元)的位置。

char *strstr(const char *haystack, const char *needle) 在字串 haystack 中查詢第一次出現字串 needle 的位置

const char haystack[20] = "runoob";

const char needle[10] = "noob";

char *ret;

//引數haystack是被查詢字串

//needle是字字串

ret = strstr(haystack, needle);

printf("子字串是: %s\n", ret);

printf("子字串在被查詢字串的位置是:%d\n",ret-haystack);

char *strcat(char *dest, const char *src) 把 src 所指向的字串追加到 dest 所指向的字串的結尾。

char src[50], dest[50];

strcpy(src, "this is source");

strcpy(dest, "this is destination");

strcat(dest, src);

printf("最終的目標字串: |%s|", dest);

char *strcpy(char *dest, const char *src) 把 src 所指向的字串複製到 dest。(經常用於字串陣列賦值)

char str1="sample string";

char str2[40];

char str3[40];

strcpy (str2,str1);

strcpy (str3,str2);

strcpy (str3,"copy successful");

printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);

C 中String的常用方法

特點 1.可以看作是乙個唯讀的char陣列 2.不可變性,即字串中的字元內容不能改,當重新給改變量賦值時,知識變數的指向改變了,但可以讀。如果我 想 改變 字串中字元的內容,怎麼辦那?實際上原字串的內容沒有改變 解決方案 利用char陣列進行修改 1 把字串變成字元陣列,tochararray 2 ...

C 中String型別的常用方法

序號 方法名稱 描述1 public static int compare string stra,string strb 比較兩個指定的 string 物件,並返回乙個表示它們在排列順序中相對位置的整數。該方法區分大小寫。2 public static int compare string str...

java中String的常用方法

string的基本常用方法 這裡都是一些基本的用法,都是 舉例比較直接 字串的比較方法 返回值為boolean型別,引數為另乙個字串 if 豬八戒 equals 孫悟空 else 字串的查詢方法 返回值為int,也就是該字元在字串中的索引 引數為需要查詢的字元 string str1 android...