void* memset(void* ptr, int value, size_t num);//地址 字符 字节数
案例:
#include
#include
int main() {
char buffer[50];
// 使用 memset 将 buffer 的前 50 字节设置为 0
memset(buffer, 0, sizeof(buffer));
std::cout << "Buffer after memset: '" << buffer << "'" << std::endl;
return 0;
}
void* memcpy(void* dest, const void* src, size_t n);
dest:目标内存地址
src:源内存地址
n:要复制的字节数
#include
#include // 包含 memcpy 的头文件
struct Node {
int id;
char name[20];
};
int main() {
Node src = {1, "Example"};
Node dest;
// 使用 memcpy 拷贝结构体
memcpy(&dest, &src, sizeof(Node));
std::cout << "Dest ID: " << dest.id << ", Name: " << dest.name << std::endl;
return 0;
}
int memcmp(const void* ptr1, const void* ptr2, size_t n);
memcmp 用于比较两个内存区域(ptr1 和 ptr2)的前 n 个字节。
int strcmp(const char* str1, const char* str2);
str1:第一个字符串
str2:第二个字符串
#include
#include // 包含 strcmp 的头文件
int main() {
const char* str1 = "Hello";
const char* str2 = "World";
// 使用 strcmp 比较字符串
int result = strcmp(str1, str2);
if (result < 0) {
std::cout << "\"" << str1 << "\" is less than \"" << str2 << "\"" << std::endl;
} else if (result > 0) {
std::cout << "\"" << str1 << "\" is greater than \"" << str2 << "\"" << std::endl;
} else {
std::cout << "\"" << str1 << "\" is equal to \"" << str2 << "\"" << std::endl;
return 0;
}