TextPos - C++ Builder

C++ Builder 參考手冊(cè) ? System::Sysutils ? TextPos


獲取一個(gè)字符串出現(xiàn)在另一個(gè)字符串中的位置,不區(qū)分大小寫(xiě)

頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:

char *__fastcall TextPos(char *Str, char *SubStr);
System::WideChar *__fastcall TextPos(System::WideChar *Str, System::WideChar *SubStr);

參數(shù):

  • Str:要獲取 Substr 這個(gè)字符串出現(xiàn)在 Str 中的位置;
  • Substr:要獲取 Substr 這個(gè)字符串出現(xiàn)在 Str 中的位置;

返回值:

  • 如果字符串 Str 里面包含了字符串 Substr,返回的指針直接指向 Str 里面 Substr 所在的位置,英文字母不區(qū)分大小寫(xiě),如果要得到是第幾個(gè) WideChar,需要把返回值減去 Str 得到整數(shù)序號(hào)值,例如 L"玄坴" 在 L"你好玄坴!" 的第 2 個(gè) WideChar 位置 (0:你,1:好,2:玄,3:坴,4:!);
  • 如果字符串 S 里面不包含字符串 Substr,返回值為 nullptr;
  • 參數(shù) Str 和 Substr 可以是空字符串 L"",但不可以是空指針 nullptr;
  • 函數(shù)內(nèi)部實(shí)現(xiàn)是通過(guò) StrLower 把 Str 和 SubStr 轉(zhuǎn)為小寫(xiě),再用 StrPos 查找的位置;
  • UNICODE 版本的 TextPos 始終能夠得到正確結(jié)果;
  • ANSI 版本的 TextPos 不檢查編碼,只是按照每個(gè) char 值是否相同,所以可能會(huì)找到半個(gè)漢字這樣的錯(cuò)誤;
  • UNICODE 版本的函數(shù)為目前使用的函數(shù),ANSI 版本的函數(shù)由于編碼原因視為過(guò)時(shí)的函數(shù)。

相關(guān):


C++ Builder 參考手冊(cè) ? System::Sysutils ? TextPos

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容