std::memchr(3)
π std::memchr π
okay so bestie, this is the std::memchr page from the C++ Standard Libary β manual name folded in near the top, we're not copying header lines today. It's giving standard-library finder energy, and yes, the whole NAME section is literally just the same thing twice β iconic.
β¨ NAME β¨
std::memchr β std::memchr (that's the name, no extra notes, periodt).
π¦ Synopsis π¦
Defined in header <cstring>:
const void* memchr( const void* ptr, int ch, std::size_t count );
void* memchr( void* ptr, int ch, std::size_t count );
okay so here's the actual behavior, and it's lowkey specific: it converts ch to unsigned char and locates the first occurrence of that value in the initial count bytes β each of those bytes is interpreted as unsigned char β of the object pointed to by ptr.
This function behaves as if it reads the bytes sequentially and stops as soon as a matching bytes is found: if the array pointed to by ptr (since C++17) is smaller than count, but the match is found within the array, the behavior is well-defined.
yes, that (since C++17) is doing important work, bestie β don't lose it.
π Parameters π
ptrβ pointer to the object to be examinedchβ byte to search forcountβ max number of bytes to examine
π Return value π
Pointer to the location of the byte, or a null pointer if no such byte is found.
πΈ Example πΈ
Search an array of characters. Run this code:
// Run this code
#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";
}
π Output π
search character found
π See also π
strchrβ finds the first occurrence of a character (function)findfind_ifβ finds the first element satisfying specific criteriafind_if_not(function template)(C++11)- C documentation for
memchr
kisses and byeee: this page came from http://cppreference.com, version/date 2024.06.10, and the footer says std::memchr(3). mwah π
π
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms