当前位置: 首页 > news >正文

个人网站内容怎么写网站建设对企业的重要性

个人网站内容怎么写,网站建设对企业的重要性,优化推广,石家庄房产网上备案查询上篇文章介绍了一些常用的字符串函数#xff0c;大家可以跳转过去浏览一下#xff1a;c语言进阶部分详解#xff08;详细解析字符串常用函数#xff0c;并进行模拟实现#xff08;上#xff09;#xff09;_总之就是非常唔姆的博客-CSDN博客 今天接着来介绍一些#x…上篇文章介绍了一些常用的字符串函数大家可以跳转过去浏览一下c语言进阶部分详解详细解析字符串常用函数并进行模拟实现上_总之就是非常唔姆的博客-CSDN博客 今天接着来介绍一些  目录 一.字符串查找 1.strstr 1.1示例 1.2注意事项 1.3模拟实现 2.strtok 2.1示例 2.2注意事项 二.错误信息报告 1.strerror() 1.1示例 1.2注意事项 三.内存操作函数 1.memcpy() 1.1示例 1.2注意事项 2.memmove 2.1示例 2.2注意事项 3.memset 3.1示例 3.2注意事项 4.memcmp 4.1示例 4.2注意事项 一.字符串查找 1.strstr strstr是一个C标准库函数用于在一个字符串中查找另一个字符串的第一次出现的位置。它的原型如下 char *strstr(const char *haystack, const char *needle); strstr函数接受两个参数haystack是要搜索的字符串needle是要查找的子字符串。函数返回一个指向第一次出现的子字符串的指针如果找不到子字符串则返回NULL 下面是strstr函数的工作原理 首先strstr函数会在haystack字符串中搜索needle字符串的第一个字符 一旦找到了与needle的第一个字符匹配的字符strstr函数会继续比较haystack中的后续字符和needle中的字符直到找到一个不匹配的字符或者needle中的所有字符都匹配 如果找到了完全匹配的子字符串strstr函数会返回指向该子字符串的指针 如果在haystack中找不到子字符串或者needle是一个空字符串则strstr函数会返回NULL 1.1示例 int main() {char arr1[] abcdef;char arr2[] cd;printf(%s, strstr(arr1, arr2));return 0; } 如果找到了完全匹配的子字符串strstr函数会返回指向该子字符串的指针结果如下 1.2注意事项 strstr函数是区分大小写的如果要进行大小写不敏感的字符串比较可以使用其他函数  1.3模拟实现 char* my_strstr(const char* a1, const char* a2) {char* cp a1;char* str1 a1;char* str2;while (*cp){str1 cp;str2 a2;while (*str1*str2*str1 *str2){str1;str2;}if (*str2 \0){return cp;}cp;}return NULL; }int main() {char arr1[] abcdef;char arr2[] cd;printf(%s, my_strstr(arr1, arr2));return 0; } 2.strtok strtok是一个C标准库函数用于将一个字符串分割成多个子字符串。它的原型如下 char * strtok (char *str ,  const char *delim); 其中str是要分割的字符串delim是用作分隔符的字符串。函数返回一个指向分割后的第一个子字符串的指针如果没有更多的子字符串则返回NULL。 strtok函数使用一个静态变量来保存当前的分割位置因此在多次调用strtok时需要将原始字符串传递给第一次调用而后续的调用只需要传递NULL作为第一个参数 strtok函数的第一个参数不为 NULL 函数将找到str中第一个标记strtok函数将保存它在字符串中的位置strtok函数的第一个参数为 NULL 函数将在同一个字符串中被保存的位置开始查找下一个标记 2.1示例 int main() {char arr[] 123abc%ABC;char a[] %;printf(%s\n, strtok(arr, a));/*printf(%s\n, strtok(NULL, a));*/return 0; } 结果如下 int main() {char arr[] 123abc%ABC;char a[] %;printf(%s\n, strtok(arr, a));printf(%s\n, strtok(NULL, a));printf(%s\n, strtok(NULL, a));return 0; } 结果如下 充分利用性质可以写出这样的代码 int main() {char arr[] 123abc%ABC;char a[] %;/*printf(%s\n, strtok(arr, a));printf(%s\n, strtok(NULL, a));printf(%s\n, strtok(NULL, a));*/for (char* ret strtok(arr, a); ret ! NULL;ret strtok(NULL, a)){printf(%s\n, ret);}return 0; } 2.2注意事项 需要注意的是strtok函数会修改原始字符串将分隔符替换为NULL字符。如果需要保留原始字符串可以使用副本进行分割操作  二.错误信息报告 1.strerror() strerror是一个C标准库函数用于将错误码转换为对应的错误信息字符串。它的原型如下 char * strerror( int errnum ); 其中errnum是错误码。函数返回一个指向错误信息字符串的指针 errnum是一个整数类型的错误码通常用于表示函数调用或操作的结果状态errno是一个全局变量用于存储最近一次发生的错误码。当函数调用或操作失败时它们通常会设置errno为一个非零的错误码以指示错误的类型 1.1示例 输出1~10分别代表的错误信息 int main() {for (int i 1; i 10; i){printf(%s\n, strerror(i));}return 0; } 结果如下   1.2注意事项 strerror函数返回的指针指向的是一个静态分配的字符串因此在多线程环境下不是线程安全的 三.内存操作函数 1.memcpy() memcpy是一个标准C库函数用于将一段内存区域的数据复制到另一段内存区域。它的函数原型如下 void *memcpy(void *dest, const void *src, size_t n); 其中dest是目标内存区域的指针src是源内存区域的指针n是要复制的字节数。 memcpy函数将源内存区域的前n个字节复制到目标内存区域中。如果源和目标区域重叠memcpy函数的行为是未定义的。如果需要处理重叠区域的复制可以使用memmove函数(下面介绍) 这个函数在遇到 \0 的时候并不会停下来  1.1示例 int main() {char src[] Hello, world!;char dest[20];memcpy(dest, src, strlen(src) 1);printf(source string: %s\n, src);printf(copied string: %s\n, dest);return 0; } 结果如下 1.2注意事项 需要注意的是memcpy函数不会自动添加字符串结束符\0因此在复制字符串时需要将\0一起复制。在上面的示例中strlen(src) 1计算了源字符串的长度并将其加1以便复制\0  2.memmove memmove是一个标准C库函数用于将一段内存区域的数据复制到另一段内存区域与memcpy函数类似。但是memmove函数可以处理源和目标区域重叠的情况而memcpy函数则不能 memmove函数的函数原型如下 void *memmove(void *dest, const void *src, size_t n); 其中dest是目标内存区域的指针src是源内存区域的指针n是要复制的字节数。 memmove函数将源内存区域的前n个字节复制到目标内存区域中。如果源和目标区域重叠memmove函数会确保复制的结果是正确的即使源和目标区域重叠。因此memmove函数比memcpy函数更安全但通常也更慢 2.1示例 int main() {char str[] 123456;memmove(str,str3,3);printf(%s\n, str);return 0; } 结果如下 2.2注意事项 需要注意的是memmove函数和memcpy函数一样不会自动添加字符串结束符\0因此在复制字符串时需要将\0一起复制 3.memset memset是一个用于设置内存块内容的函数。它可以将指定的内存块中的每个字节都设置为特定的值。 memset函数的原型如下 void *memset(void *ptr, int value, size_t num); 参数说明 ptr指向要设置的内存块的指针。value要设置的值以整数形式提供。num要设置的字节数。 memset函数将ptr指向的内存块的前num个字节设置为value指定的值 3.1示例 int main() {char str[20] { 0 };memset(str, A, 10);printf(%s\n, str);return 0; } 结果如下 3.2注意事项 需要注意的是memset函数是按字节进行设置的因此对于非字符类型的数组需要将value参数转换为相应的字节表示 4.memcmp memcmp函数用于比较两个内存区域的内容是否相同其原型如下 int memcmp(const void *ptr1, const void *ptr2, size_t num); 参数说明 ptr1指向第一个内存区域的指针。ptr2指向第二个内存区域的指针。num要比较的字节数。 memcmp函数将ptr1指向的内存区域和ptr2指向的内存区域的前num个字节进行比较返回值如下 如果两个内存区域相同返回0。如果第一个内存区域小于第二个内存区域返回负整数。如果第一个内存区域大于第二个内存区域返回正整数 4.1示例 int main() {char str1[20] Hello, world!;char str2[20] Hello, world!;int result1 memcmp(str1, str2, strlen(str1));printf(result %d\n, result1);return 0; } 结果如下 4.2注意事项 memcmp函数比较的是字节因此对于非字符类型的数组比较的结果可能与预期不同  好了各位这次的内容就先整理到这里吧下次按照学习计划就打了结构体的部分知识内容啦
http://www.w-s-a.com/news/292079/

相关文章:

  • 淘宝做首页热点的什么网站徐州建设安全监督网站
  • 正规的镇江网站建设广州有什么好玩的东西
  • 丹阳网站设计公司网站开发 0755
  • 百度网页版浏览器网址找文网优化的技术团队
  • 信息网站怎么做做儿童网站赚钱吗
  • 帝国cms 网站迁移个人网站备案备注
  • 青岛做网站推广怎样做网站才不能被攻破
  • 使用网站模板快速建站教案杂志wordpress主题 无限加载
  • 南宁南宁做网站南安网络推广
  • 旌阳移动网站建设微网站 杭州
  • 合肥网站开发如何用VS2017做网站
  • 网站 制作公司福州企业建站软件
  • 网站推广主要方法一流的盘锦网站建设
  • 给个网站好人有好报2021东莞专业网站营销
  • 中国网站优化哪家好制作网站页面
  • 网站站内优化度娘网站灯笼要咋做呢
  • 怎么制作一个简单的网站七牛云做网站
  • 厦门建网站哪家好求网站建设合伙人
  • 营销型网站制作步骤五个宁波依众网络科技有限公司
  • 外贸响应式网站建设临清建设局网站
  • 手机怎样使用域名访问网站个人做旅游网站的意义
  • 西部数码域名网站模板网站建设怎么管理业务员
  • o2o手机维修网站那个公司做的电子网站风格设计
  • 网站建设预算计算方法什么是网络营销战略?网络营销战略有哪些基本类型
  • 无锡做网站公司多少钱网站备案方法
  • 建设网站最强做网站哪一家公司好
  • 漫画风格网站人物介绍网页模板html
  • 贵阳市住房和城乡建设局政务网站大连 网站开发
  • 漳州市住房建设局网站网站一般多长
  • 国外做网站推广小程序制作二维码签到