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

网站制作的差异化定位wordpress 优质插件

网站制作的差异化定位,wordpress 优质插件,沧州地区做网站,东莞外贸公司建网站文章目录 一、求字符串长度strlen例子模拟实现 二、长度不受限制的字符串函数strcpy例子模拟实现 strcat例子模拟实现 strcmp例子模拟实现 三、长度受限制的字符串函数strncpy例子 strncat例子 strncmp例子 四、字符串查找strstr例子模拟实现 strtok例子 五、错误信息报告strer… 文章目录 一、求字符串长度strlen例子模拟实现 二、长度不受限制的字符串函数strcpy例子模拟实现 strcat例子模拟实现 strcmp例子模拟实现 三、长度受限制的字符串函数strncpy例子 strncat例子 strncmp例子 四、字符串查找strstr例子模拟实现 strtok例子 五、错误信息报告strerror例子 六、字符分类函数七、内存操作函数memcpy例子模拟实现 memmove例子模拟实现 memcmp例子 一、求字符串长度 strlen 功能获取字符串长度参数c字符串str返回值字符串长度无符号整形size_t字符串将 ‘\0’ 作为结束标志strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数不包含 ‘\0’ )。 例子 #include stdio.h #include string.h int main() {const char* str1 abcdef;const char* str2 bbb;printf(%d\n, strlen(str1));printf(%d\n, strlen(str2));if (strlen(str2) - strlen(str1) 0){printf(str2str1\n);}else{printf(srt1str2\n);}return 0; }模拟实现 计数器方式 int my_strlen(char* str) {int len 0;while (*str){str;len;}return len; }不创建临时变量 int my_strlen(const char* str) {if (*str \0)return 0;elsereturn 1 my_strlen(str 1); }指针-指针 int my_strlen(char* s) {char* p s;while (*p!\0){p;}return p - s; }二、长度不受限制的字符串函数 strcpy 功能复制字符串参数目的字符串destination源字符串source返回值目的字符串源字符串必须以 ‘\0’ 结束会将源字符串中的 ‘\0’ 拷贝到目标空间目标空间必须足够大以确保能存放源字符串目标空间必须可变 例子 #include stdio.h #include string.hint main() {char str1[] Sample string;char str2[40];char str3[40];strcpy(str2, str1);strcpy(str3, copy successful);printf(str1: %s\nstr2: %s\nstr3: %s\n, str1, str2, str3);return 0; }模拟实现 char* my_strcpy(char* dest, const char* src) {char* ret dest;//assert需要加入头文件assert.hassert(src ! NULL);assert(dest ! NULL);while (*dest*src){}return ret; }strcat 功能连接字符串参数目的字符串destination源字符串source返回值目的字符串将源字符串的副本追加到目标字符串。目标中的终止空字符被源的第一个字符覆盖并且在目标中由两者串联形成的新字符串的末尾包含一个空字符。目的地和来源不得重叠。 例子 #include stdio.h #include string.hint main () {char str[80];strcpy (str,these );strcat (str,strings );strcat (str,are );strcat (str,concatenated.);puts (str);return 0; }模拟实现 char* my_strcat(char* dest, const char* src) {char* ret dest;//assert需要加入头文件assert.hassert(dest);assert(src);while (*dest){dest;}while (*dest *src){}return ret; }strcmp 功能比较两个字符串参数要比较的字符串1str1要比较的字符串2str2返回值 返回值表明0第一个不匹配的字符在 PTR1 中的值低于 PTR2 中的值0两个字符串的内容相等0第一个不匹配的字符在 PTR1 中的值大于在 PTR2 中的值 此函数开始比较每个字符串的第一个字符。如果它们彼此相等则继续下一对直到字符不同或达到终止空字符 例子 #include stdio.h #include string.hint main() {int ret strcmp(bbq, bcq);if (ret 0)printf(\n);printf(%d\n, ret);return 0; }模拟实现 int my_strcmp(const char* str1, const char* str2) {assert(str1 str2);while (*str1 *str2){if (*str1 \0)return 0;str1;str2;}return (*str1 - *str2); }三、长度受限制的字符串函数 strncpy 功能从字符串中复制字符参数目的字符串destination源字符串source要从源中复制的最大字符数num返回值目的字符串拷贝num个字符从源字符串到目标空间如果源字符串的长度小于num则拷贝完源字符串之后在目标的后边追加0直到num个如果源长度超过 num则不会在目标末尾隐式附加空字符。因此在这种情况下不应将目标视为以空结尾的 C 字符串这样读取它会溢出目的地和来源不得重叠 例子 #include stdio.h #include string.hint main() {char str1[] To be or not to be;char str2[40];char str3[40];strncpy(str2, str1, sizeof(str2));strncpy(str3, str2, 5);str3[5] \0; puts(str1);puts(str2);puts(str3);return 0; }strncat 功能从字符串追加字符参数目的字符串destination源字符串source要追加的最大字符数num返回值目的字符串将源的第一个数字字符追加到目标外加一个终止空字符如果源中 C 字符串的长度小于 num则仅复制终止空字符之前的内容目标空间必须足够大以包含串联的结果字符串包括其他 null 字符 例子 #include stdio.h #include string.hint main() {char str1[20];char str2[20];strcpy(str1, To be );strcpy(str2, or not to be);strncat(str1, str2, 6);puts(str1);return 0; }strncmp 功能比较两个字符串的字符参数要比较的字符串1str1要比较的字符串2str2要比较i的最大字符数num返回值 返回值表明0不匹配的第一个字符在 str1 中的值低于 str2 中的值0两个字符串的内容相等0第一个不匹配的字符在 str1 中的值大于在 str2 中的值 将 C 字符串 str1 的字符数与 C 字符串 str2 的字符数进行比较此函数开始比较每个字符串的第一个字符。如果它们彼此相等则继续使用以下对直到字符不同直到达到终止的空字符或者直到两个字符串中的 num 字符匹配以先发生者为准 例子 #include stdio.h #include string.hint main() {char str[][5] { R2D2 , C3PO , R2A6 };int n;puts(Looking for R2 astromech droids...);for (n 0; n 3; n)if (strncmp(str[n], R2xx, 2) 0){printf(found %s\n, str[n]);}return 0; }四、字符串查找 strstr 功能查找子字符串参数要扫描的字符串str1包含要匹配的字符序列的字符串str2返回值指向 str1 中指定的整个字符序列在 str2 中首次出现的指针如果序列在 str1 中不存在则为 null 指针 例子 #include stdio.h #include string.hint main() {char str[] This is a simple string;char* pch;pch strstr(str, simple);if (pch ! NULL)strncpy(pch, sample, 6);puts(str);return 0; }模拟实现 char* my_strstr(const char* str1, const char* str2) {char* cpstr1;char* s1str1;char* s2str2;if (*str2 \0)return str1;while (*cp){s1 cp;s2 str2;while (*s1 *s2 *s1 *s2){s1;s2;}if (*s2 \0)return cp;cp;}return NULL; }strtok 功能将字符串拆分为标记参数要截断的c字符串str包含分割字符的c字符串delimiters返回值如果找到令牌则指向令牌开头的指针否则为空指针。当在正在扫描的字符串中到达字符串的末尾即空字符时始终返回空指针strtok函数找到str中的下一个标记并将其用 \0 结尾返回一个指向这个标记的指针。注strtok函数会改变被操作的字符串所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改strtok函数的第一个参数不为 NULL 函数将找到str中第一个标记strtok函数将保存它在字符串中的位置strtok函数的第一个参数为 NULL 函数将在同一个字符串中被保存的位置开始查找下一个标记 例子 #include stdio.h #include string.hint main () {char str[] - This, a sample string.;char * pch;printf (Splitting string \%s\ into tokens:\n,str);pch strtok (str, ,.-);while (pch ! NULL){printf (%s\n,pch);pch strtok (NULL, ,.-);}return 0; }五、错误信息报告 strerror 功能获取指向错误消息字符串的指针参数错误号errnum返回值指向描述错误错误的字符串的指针解释 errnum 的值生成一个字符串其中包含描述错误条件的消息就像由库的函数设置为 errno 一样 例子 #include stdio.h #include string.h int main() {int i 0;for (i 0; i 10; i){printf(%d: %s\n, i, strerror(i));}return 0; }六、字符分类函数 函数如果他的参数符合下列条件就返回真iscntrl任何控制字符isspace空白字符空格‘ ’换页‘\f’换行’\n’回车‘\r’制表符’\t’或者垂直制表符’\v’isdigit十进制数字 0~9isxdigit十六进制数字包括所有十进制数字小写字母a~f大写字母A ~Fislower小写字母a~zisupper大写字母A~Zisalpha字母a~ z或A~Zisalnum字母或者数字a ~ z,A~ Z,0~9ispunct标点符号任何不属于数字或者字母的图形字符可打印sgraph任何图形字符isprint任何可打印字符包括图形字符和空白字符 七、内存操作函数 memcpy 功能复制内存块参数指向目标数组的指针destinatiom指向要复制的数据源的指针source要复制的字节数num返回值返回目标函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置这个函数在遇到 ‘\0’ 的时候并不会停下来如果source和destination有任何的重叠复制的结果都是未定义的 例子 #include stdio.h #include string.hint main() {int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[20] { 0 };//将arr1中的内容拷贝到arr2中memcpy(arr2, arr1, 40); int i 0;for (i 0; i 20; i){printf(%d , arr2[i]);}return 0; } 模拟实现 void* my_memcpy(void* dest, const void* src, size_t num) {void* ret dest;assert(dest src);while (num--){*(char*)dest *(char*)src;dest (char*)dest 1;src (char*)src 1;}return ret; }memmove 功能移动内存块参数指向目标数组的指针destinatiom指向要复制的数据源的指针source要复制的字节数num返回值返回目标将字节数的值从源指向的位置复制到目标指向的内存块。复制就像使用了中间缓冲区一样允许目标和源重叠该函数不检查源中的任何终止空字符 - 它总是准确地复制字节数 例子 #include stdio.h #include string.h int main() {char str[] memmove can be very useful......;memmove(str 20, str 15, 11);puts(str);return 0; }模拟实现 void* my_memmove(void* dest, const void* src, size_t num) {void* ret dest;assert(dest src);if (dest src){while (num--){*(char*)dest *(char*)src;dest (char*)dest 1;src (char*)src 1;}}else{while (num--){*((char*)dest num) *((char*)src num);}}return ret; }memcmp 功能比较两个内存块参数指向内存块的指针1str1指向内存块的指针2str2要比较的字节数num返回值 返回值表明0两个内存块中不匹配的第一个字节在 PTR1 中的值低于 PTR2 中的值0两个内存块的内容相等0两个内存块中不匹配的第一个字节在 PTR1 中的值大于在 PTR2 中的值 与 strcmp 不同该函数在找到空字符后不会停止比较 例子 #include stdio.h #include string.h int main() {int arr1[] { 1,2,1,4,5,6 };int arr2[] { 1,2,33 };int ret memcmp(arr1, arr2, 10);printf(%d\n, ret);return 0; }
http://www.w-s-a.com/news/866592/

相关文章:

  • 微信营销软件免费版郑州关键词优化费用
  • 邢台专业做网站哪家好临沂网站建设中企动力
  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库
  • 惠州外贸网站建设网站模板 兼容ie8
  • 南京淄博网站建设方案php网站开发实训感想
  • 网站设计的含义只做恐怖片的网站
  • 网站改版方案ppt室内装修公司简介
  • 做色网站wordpress twenty ten
  • 马鞍山建设工程监督站建管处网站免费的海报模板网站
  • 类似百度的网站移动端的网站怎么做的
  • 网站开发需要什么文凭网站分析的优劣势
  • 海尔网站建设不足之处山东网站营销
  • 楚雄 网站建设广告设计一般人能学吗
  • 热搜榜排名前十山东seo多少钱
  • 衡水哪有建网站的吗企业信息系统英文