insert
string的成員函式insert有以下多種過載:
string &insert(int p0, const char *s);——在p0位置插入字串s
string &insert(int p0, const char *s, int n);——在p0位置插入字串s的前n個字元
string &insert(int p0,const string &s);——在p0位置插入字串s
string &insert(int p0,const string &s, int pos, int n);——在p0位置插入字串s從pos開始的連續n個字元
string &insert(int p0, int n, char c);//在p0處插入n個字元c
iterator insert(iterator it, char c);//在it處插入字元c,返回插入後迭代器的位置
void insert(iterator it, const_iterator first, const_iteratorlast);//在it處插入從first開始至last-1的所有字元
void insert(iterator it, int n, char c);//在it處插入n個字元c
//#include "stdafx.h"//if the vc++6.0, with this line.
#include
#include
using
namespace
std;//
int main(void)
輸出是123fghi4567890.
erase
erase函式的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last );也就是說有三種用法:
(1)erase(pos,n); 刪除從pos開始的n個字元,比如erase(0,1)就是刪除第乙個字元
(2)erase(position);刪除position處的乙個字元(position是個string型別的迭代器)
(3)erase(first,last);刪除從first到last之間的字元(first和last都是迭代器)
#include
#include
using namespace std;
int main ()
substr
返回乙個從指定位置開始,並具有指定長度的子字串。
引數start : 必選。所需的子字串的起始位置。字串中第乙個字元的索引為 0。
length 可選項。返回的子字串中包含的字元數。
備註如果 length 為 0 或負數,將返回乙個空字串。如果沒有指定該引數,則子字串將延續到字串的結尾。
find
string中 find()的應用 (rfind() 類似,只是從反向查詢)
原型如下:
(1)size_t find (const string& str, size_t pos = 0) const; //查詢物件–string類物件
(2)size_t find (const char* s, size_t pos = 0) const; //查詢物件–字串
(3)size_t find (const char* s, size_t pos, size_t n) const; //查詢物件–字串的前n個字元
(4)size_t find (char c, size_t pos = 0) const; //查詢物件–字元
結果:找到 – 返回 第乙個字元的索引
沒找到–返回 string::npos(-1)
示例:
[cpp] view plain copy
#include // std::cout
#include // std::string
int main ()
結果:
first 『needle』 found at: 14
second 『needle』 found at: 44
『haystack』 also found at: 30
period found at: 51
there are two prepositions in this haystack with needles
其他還有 find_first_of(), find_last_of(), find_first_not_of(), find_last_not_of()
作用是查詢 字串中 任乙個字元 滿足的查詢條件
string snake1(「cobra」);
int where = snake1.find_first_of(「hark」);
返回3 因為 「hark」中 各乙個字元 在 snake1–cobra 中第一次出現的是 字元』r』(3為 cobra 中』r』的索引)
同理:
int where = snake1.find_last_of(「hark」);
返回4 因為 「hark」中 各乙個字元 在 snake1–cobra 中最後一次出現的是 字元』a』(3為 cobra 中』r』的索引)
其他同理
size&&length
length是因為沿用c語言的習慣而保留下來的,string類最初只有length,引入stl之後,為了相容又加入了size,它是作為stl容器的屬性存在的,便於符合stl的介面規則,以便用於stl的演算法。
string類的size()/length()方法返回的是位元組數,不管是否有漢字。
reserve
reverse(s.begin(),s.end()) 顛倒字串
strncpy
strncpy 是 c語言的庫函式之一,來自 c語言標準庫,定義於 string.h,char *strncpy(char *dest, const char *src, int n),把src所指向的字串中以src位址開始的前n個位元組複製到dest所指的陣列中,並返回dest。
strchr
char strchr(const char _str,char _val)
char strchr(char _str,char _ch)
查詢字串_str中首次出現字元_val的位置
說明:返回首次出現_val的位置的指標,返回的位址是被查詢字串指標開始的第乙個與val相同字元的指標,如果str中不存在val則返回null。
返回值:成功則返回要查詢字元第一次出現的位置,失敗返回null
String類中一些常用的函式
1 charat index 通過他的索引來獲取元素 test public void test1 string a dfjkdjfd134 for int i 0 i2 indexof string s 返回當前字串的索引,字串索引的位置從0開始 indexof string s,int star...
String一些函式的用法
1 substring 用法 這個函式返回第乙個引數中從第二個引數指定的位置開始 第三個引數指定的長度的子字串。該字串中的每個字元都被認為具有數字位置 第乙個字元的位置是 1,第二個字元的位置是 2,依此類推。如果未指定第三個引數,將返回從第二個引數指定的位置開始直到字串結尾的子字串。如果引數不是字...
string類的一些成員函式
1 const char data data 函式返回指向自己的第乙個字元的指標.由於data 函式返回的是const char 所以不能直接通過指標修改返回的字串的值,如果要修改,必須把型別轉化為char 2 const char c str c str 函式返回乙個指向正規c字串的指標,內容與本...