名稱空間
變體
操作

std::memchr

來自 cppreference.com
< cpp‎ | string‎ | byte
在標頭檔案 <cstring> 中定義
const void* memchr( const void* ptr, int ch, std::size_t count );
      void* memchr(       void* ptr, int ch, std::size_t count );

ch 轉換為 unsigned char,並在 ptr 指向的物件的最初 count 位元組(每個位元組都解釋為 unsigned char)中查詢該值的首次出現。

此函式的行為就像它順序讀取位元組並在找到匹配位元組時立即停止:如果 ptr 指向的陣列小於 count,但匹配在陣列中找到,則行為是明確定義的。

(C++17 起)

目錄

[編輯] 引數

ptr - 指向要檢查的物件的指標
ch - 要搜尋的位元組
count - 要檢查的最大位元組數

[編輯] 返回值

指向位元組位置的指標,如果未找到此類位元組,則為空指標。

[編輯] 示例

搜尋字元陣列。

#include <cstring>
#include <iostream>
 
int main()
{
    char arr[] = {'a', '\0', 'a', 'A', 'a', 'a', 'A', 'a'};
    char *pc = (char*) std::memchr(arr, 'A', sizeof arr);
    if (pc != nullptr)
        std::cout << "search character found\n";
    else
        std::cout << "search character not found\n";
}

輸出

search character found

[編輯] 參閱

查詢字元的第一次出現
(函式) [編輯]
尋找第一個滿足特定條件的元素
(函式模板) [編輯]
C 文件 用於 memchr