VC MFC字串擷取實踐心得(一)

2021-06-04 05:15:55 字數 750 閱讀 3117

我們知道vc++ mfc的cstring類的getlength()返回的是byte數而不是字元個數,所以我們在字串擷取的時候就會遇到一些問題。

比如說我們有乙個寬度是7個byte的全半形字元混在的字串:

"理a程式"

我們有乙個需求:擷取6個byte,當第6個byte和第7個byte是乙個全形字符(比如漢字)的時候,把這個全形字符忽略掉。

我們可以用下面的方法實現上述功能。

cstring getbytescut(cstring strstring, int nbytesize)

// 多位元組文字的低位位元組的時候

else if( _mbc_trail == nmbc_type )

// 多位元組文字以外的時候

else

// 最後乙個byte是 單位元組字元 或者 多位元組字元的低位位元組 的時候

if( nbytesize == ncnt )

// 最後乙個byte是多位元組字元的高位位元組的時候(即,乙個完整的漢字被分成兩半的時候)

else if (nbytesize < ncnt)

// 不需要擷取的時候

else

}return( strcnvstring );

}

我們可以這樣呼叫:

cstring str = "理a程式";

getbytescut(str,6)

返回結果是:"理a程"

字串擷取

var 用 擷取 刪除左邊字元,保留右邊字元 echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 結果 root localhost shell shell.sh 表示從左邊開始刪除最後 最右邊 乙個 號及左邊的所有字元 結果 將變數改為var 結果 輸出為空...

字串擷取

1.定義乙個字串a,擷取a 的某乙個專案組,複製給b,b必須是int型 nsstring a 1.2.30 int b a substringwithrange nsmakerange 4,2 intvalue nslog a n a nslog b d b output 2011 07 05 11...

字串擷取

字串擷取,支援中文和其他編碼 access public param string str 需要轉換的字串 param string start 開始位置 param string length 擷取長度 param string charset 編碼格式 param string suffix 截...