問題由來:今天遇到了這樣乙個問題,有乙個cstring型別的字串,其中有乙個數字,如何讓這個數字+1後,再寫回到cstring中,並且輸出廢話少說,直接上結果,然後分析
**如下:
lresult cmaindlg::onok(word /*wnotifycode*/, word wid, hwnd /*hwndctl*/, bool& /*bhandled*/)
其實就是使用了cstring的幾個函式 find,mid。
下面是他們的具體解釋
cstring mid( int nfirst ) const;cstring mid( int nfirst, int ncount ) const;
/*返回值:返回乙個包含指定範圍字元的拷貝的cstring物件。注意,這個返回的cstring物件可能是空的。
引數:
nfirst 此cstring物件中的要被提取的子串的第乙個字元的從零開始的索引。
ncount 要從此cstring物件中提取的字元數。如果沒有提供這個引數,則字串的其餘部分都被提取。
對於多位元組字符集(mbcs),ncount指的是每8位字元的數目;也就是說,在乙個多位元組字元中開始和結尾位元組被算作兩個字元。 */
int find( tchar ch ) const;int find( lpctstr lpszsub ) const;
int find( tchar ch, int nstart ) const;
int find( lpctstr lpszsub, int nstart ) const;
// 返回此cstring物件中與需要的子字串或字元匹配的第乙個字元的從零開始的索引;//如果沒有找到子字串或字元則返回-1
/*引數含義:
ch 要搜尋的單個字元。
lpszsub 要搜尋的子字串。
nstart 字串中開始搜尋的字元的索引,如果是0,則是從頭開始搜尋。如果nstart不是0,則位於nstart處的字元不包括在搜尋之內。
pstr 指向要搜尋的字串的指標*/
在遇到這種問題時,字串都是有一定的規律的,使用一定的演算法,然後再結合cstring的函式就可以解決這些問題,現在拋磚引玉,以後遇到一種情況在這改一次。
C string和c型別字元陣列的比較
在c 中string是很方便操作的字串,支援多種算數運算和比較運算,操作起來非常靈活。string也具有一些容器的性質,可以通過迭代器對字元元素進行訪問 c型別的字元陣列有如下三種初始化方式 前兩種的初始化方式是等同的,最後一種沒有 0 char cp hello char c arr hello ...
C string型別字串的儲存方式
不知道你們有沒有看過string型別變數的成員資料,在string變數中好像真正儲存字串的是乙個叫 ptr的指標,它指向string所儲存的字串首位址。當string變數被定義時,如果未初始化,ptr就是乙個指向null的指標,而且 ptr看起來像乙個const char 型別的指標,如果它是乙個空...
C string型別字串新增字元或新的字串
string str1 i love 注意 該函式只能在字串後面新增字元 e.g.str1.push back y str str a str str abc 這種賦值方式,效率比較低 str a str abc 直接對str操作,效率高 3.1 直接新增字串 e.g.string str1 i l...