网站建设好后怎么制作网页,wordpress 推荐版本,关于文艺网站建设政策,wordpress做排名如何(一)strtok函数dilimiters参数是个字符串#xff0c;定义了用作分隔符的字符集合第一个参数指定一个字符串#xff0c;它包含了0个或者多个由dilimiters字符串中一个或者多个分隔符分割的标记。strtok函数找到str中的下一个标记#xff0c;并将其用 \0 结尾#xff0c;返回…(一)strtok函数dilimiters参数是个字符串定义了用作分隔符的字符集合第一个参数指定一个字符串它包含了0个或者多个由dilimiters字符串中一个或者多个分隔符分割的标记。strtok函数找到str中的下一个标记并将其用 \0 结尾返回一个指向这个标记的指针。注strtok函数会改变被操作的字符串所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。strtok函数的第一个参数不为 NULL 函数将找到str中第一个标记strtok函数将保存它在字符串中的位置。strtok函数的第一个参数为 NULL 函数将在同一个字符串中被保存的位置开始查找下一个标记。如果字符串中不存在更多的标记则返回 NULL 指针。strtok函数的应用如果分隔符太多难道我们要一直写下去吗不防我们换一种写法特别巧妙非常巧妙(二)strerror函数返回错误码所对应的错误信息。错误码翻译成错误信息。但在我们路径底下没有相应文件自然是打开失败所以会报错误信息。当我在对应路径底下创建了对应文件当我打开还是错误的为什么呢因为我们还没有把文件名扩展开一般电脑文件后缀名都是隐藏着的那怎么打开呢?当我们打开文件扩展名才会显示文件名所有后缀。这次就不会报什么错误信息了说明对应路径底下存在文件我们打开了文件并关闭了。还有个与它类型类似的函数perror它会自动在后面打出错误信息。perrorprintf strerror(三)memcpy函数https://legacy.cplusplus.com/reference/cstring/memcpy/?kwmemcpy函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。这个函数在遇到 \0 的时候并不会停下来。如果source和destination有任何的重叠复制的结果都是未定义的。memcpy函数的返回类型是void*指针因为memcpy设计者不知道程序员使用memcpy拷贝什么类型的的数据void*指针——通用类型指针可以接受任意类型数据的地址。但是这种类型指针不能直接解引用加减运算!memcpy模拟实现函数dest(char*)dest1 可以写出((char*)dest)吗 src(char*)src1 可能可以但会出错。但结果怎么跟我们的预想不一样呢(四)memmove函数https://legacy.cplusplus.com/reference/cstring/memmove/?kwmemmove和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。如果源空间和目标空间出现重叠就得使用memmove函数处理。memmove模拟实现函数换种测试方法因为数组的地址是从低地址到高地址存放的所以我们将目的地指针与源头指针比较就能实现从前-后 或者从后-前的交换方式分成区间来解决完美模拟了memmove函数的实现。(五)memcmp函数跟strcmp的返回值相似。那如果我们比较17个字节谁大呢明显arr2大为什么呢因为VS是小端存储模式arr1内存存储是 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00arr2内存存储是 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 06 00 00 00第17个字节是05与06的比较自然arr2大所以返回-1。六memset函数memset函数在修改的时候是以字节单位修改的。所以给数组初始化是一个一个字节初始化40字节就是10个010101。不能用来初始化数组。