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

网站没有索引量是什么意思空间怎么做网站

网站没有索引量是什么意思,空间怎么做网站,网页制作工具可以分为,南宁网站建设费用C语言字符函数和字符串函数 文章目录 C语言字符函数和字符串函数1. 字符分类函数2. 字符转换函数3. strlen4. strcpy5. strcat6. strcmp7. strncpy8. strncat9. strncmp10. strstr11. strtok12. strerror 1. 字符分类函数 C语言中有一系列函数是专门做字符分类的,也…

C语言字符函数和字符串函数

文章目录

  • C语言字符函数和字符串函数
    • 1. 字符分类函数
    • 2. 字符转换函数
    • 3. strlen
    • 4. strcpy
    • 5. strcat
    • 6. strcmp
    • 7. strncpy
    • 8. strncat
    • 9. strncmp
    • 10. strstr
    • 11. strtok
    • 12. strerror

1. 字符分类函数

C语言中有一系列函数是专门做字符分类的,也就是判断一个字符属于什么类型。

使用这些函数需要包含头文件ctype.h

函数如果参数满足下面条件就为真
iscntrl任何字符
isspace空白字符:空格 ' '、换页 '\f'、换行 '\n'、回车 '\r'、制表符 '\t'、垂直制表符 '\v'
isdigit十进制数字0~9
igxdigit十六进制数字1~9a~fA~f
islower小写字母a~z
isupper大写字母A~Z
isalpha字母a~zA~Z
isalnum字母或数字a~zA~Z0~9
ispunct标点符号,任何不属于字母或数字的可打印字符
isgraph任何图形字符
isprint任何可打印字符,包括图形字符和空白字符

使用这些函数的方法几乎都是一样的,只需要传入需要判断的字符,然后接受对应返回值即可。

2. 字符转换函数

C语言提供了2个字符转换函数。

使用这些函数需要包含头文件ctype.h

函数作用
tolower将传进去的小写字母转成大写
toupper将传进去的大写字母转成小写

3. strlen

size_t strlen(const char * str)

我们在之前就已经使用过很多次strlen函数,这里做一下总结:

  • 字符串以'\0'作为结束标志,strlen函数返回值是在字符串中'\0'前面出现的个数。
  • 参数指向的字符串必须要以'\0'结束。
  • 注意函数的返回值为size_tsize_t本质上是无符号整数。
#include <stdio.h>
#include <string.h>int main()
{const char* str = "hello world";printf("%d\n", strlen(str)); // 11return 0;
}

在这里插入图片描述

4. strcpy

char * strcpy(char * destination, const char * source);
  • 函数参数:

    • destination:目标字符串。
    • source:源字符串。
    • 源字符串的内容将会拷贝到目标字符串中。
  • 源字符串必须以'\0'结束。

  • 源字符串中的'\0'会被拷贝到目标字符串中。

  • 目标字符串的空间必须足够大,保证能够放得下源字符串的内容

  • 目标空间必须可变(非const)。

  • 注意,在VS2022环境下无法直接使用strcpy,解决办法是加上#define _CRT_SECURE_NO_WARNINGS

    在这里插入图片描述

    在后文有部分函数也会出现这个问题,看到这个警告后,按上述处理即可,后文将不再赘述此类问题。

#include <stdio.h>
#include <string.h>int main()
{const char* str1 = "hello world";char str2[20];strcpy(str2, str1);printf("%s", str2);return 0;
}

在这里插入图片描述

5. strcat

char * strcat ( char * destination, const char * source );
  • 函数参数:

    • destination:目标字符串。
    • source:源字符串。
    • 源字符串中的内容将被追加到目标字符串。
  • 源字符串必须以'\0'结束。

  • 目标字符串也必须以'\0'结束。

  • 目标空间必须足够大,保证能放得下追加后的内容。

  • 目标空间必须可变。

#include <stdio.h>
#include <string.h>int main()
{const char* str1 = "hello world";char str2[20] = "123456";strcat(str2, str1);printf("%s", str2);return 0;
}

在这里插入图片描述

6. strcmp

int strcmp ( const char * str1, const char * str2 );
  • 函数参数

    • 两个待比较的字符串。
    • 比较规则,按照字典序比较:
      • 从前往后比较两个字符串相同位置的字符。
      • 当字符的ACSII码值小时,则该字符串更小,反之该字符串更大。
      • 当字符相同时,比较下一个位置的字符。
      • 当字符串1到末尾时,字符串2还未结束,那么字串1比字符串2小。
      • 当两个字符串内容完全一致时,判定为相等。
  • 第一个字符大于第二个字符串则返回大于0的数字。

  • 两个字符串相等则返回0。

  • 第二个字符串大于第一个字符串则返回小于0的数字。

#include <stdio.h>
#include <string.h>int main()
{const char* str1 = "hello world123";const char* str2 = "hello world456";int tmp = strcmp(str2, str1);if (tmp > 0)printf("str2 > str1\n");else if (tmp == 0)printf("str2 == str1\n");elseprintf("str2 < str1\n");return 0;
}

在这里插入图片描述

7. strncpy

char * strncpy ( char * destination, const char * source, size_t num );
  • 函数参数:
    • 与strcpy不同的,num代表需要从源字符串拷贝的字符个数。
  • 如果源字符串的长度小于num,则拷贝完源字符串后,在目标后面追加\0,直到num个。
  • 需要注意的是,如果num小于source的长度,那么destination字符串的最后将不会有\0,打印时可能会造成越界访问。
#include <stdio.h>
#include <string.h>int main()
{const char* str1 = "hello world";char* str2[20];char* str3[20];strncpy(str2, str1, 20);strncpy(str3, str1, 5);printf("%s\n", str2);printf("%s\n", str3);return 0;
}

在这里插入图片描述

上面打印的str3就出现了越界访问的问题。

8. strncat

char * strncat ( char * destination, const char * source, size_t num );
  • 函数参数:
    • 与strcat不同的,num代表需要从源字符串追加的字符个数。
  • 如果源字符串长度小于num,则追加整个源字串。
#include <stdio.h>
#include <string.h>int main()
{const char* str1 = "hello world";char str2[20] = "123";char str3[20] = "456";strncat(str2, str1, 20);strncat(str3, str1, 5);printf("%s\n", str2);printf("%s\n", str3);return 0;
}

在这里插入图片描述

9. strncmp

int strncmp ( const char * str1, const char * str2, size_t num );
  • 函数参数
    • 与strcmp不同的,num代表比较前num个字符数。
  • 如果待比较的字符串长度比num小,则整个字符串参与比较。
#include <stdio.h>
#include <string.h>int main()
{const char* str1 = "hello world123";const char* str2 = "hello world456";printf("%d\n", strncmp(str1, str2, 5));printf("%d\n", strncmp(str1, str2, 20));return 0;
}

在这里插入图片描述

10. strstr

const char * strstr ( const char * str1, const char * str2 );char * strstr (       char * str1, const char * str2 );
  • 返回指向str1字符串中第一次出现str2字符串的指针。
  • 如果str2不是str1的一部分,则返回NULL。
#include <stdio.h>
#include <string.h>int main()
{const char* str1 = "hello world";const char* str2 = "world";char* p = strstr(str1, str2);printf("%p\n%s\n", p, p);return 0;
}

在这里插入图片描述

11. strtok

char * strtok ( char * str, const char * delimiters );
  • 函数参数:

    • str:需要处理的目标字符串。
    • delimiters:字符分隔符合集。
  • 遍历str字符串,如果碰到delimiters中的字符,就将那个字符改成\0然后返回开始寻找的位置的指针。

  • 如果传入str指针传入NULL,则strtok将从上一个被修改成\0的字符的后一个位置开始寻找。

  • 如果没有找到,则返回NULL。

#include <stdio.h>
#include <string.h>int main()
{char str1[] = "192.168.0.0";char* p = strtok(str1, ".");while (p){printf("%s\n", p);p = strtok(NULL, ".");}return 0;
}

在这里插入图片描述

12. strerror

char * strerror ( int errnum );
  • 函数参数:

    • errnum:代表错误码,当程序异常退出时,会返回一个错误码。
  • 将错误码传入strerror函数,就可以获取错误码对应的描述信息,判断出现了什么错误。

打印0~10号错误码对应的错误信息:

#include <stdio.h>
#include <string.h>int main()
{for (int i = 0; i <= 10; i++)printf("error code %d : %s\n", i, strerror(i));return 0;
}

在这里插入图片描述

http://www.dtcms.com/a/542621.html

相关文章:

  • ai免费模板网站专业建设网站技术
  • 网站建设和维护采购协议app推广联盟
  • 做网站属于什么费用西安推荐企业网站制作平台
  • 免费空间域名可以做淘宝客网站推广吗摄影作品投稿网站
  • 临沧网站建设ynyue淘宝客网站名
  • 如何做商业网站推广建设网站需要的材料
  • 全屏定时提醒工具
  • 网站建设的设立方式淘宝网官网登录
  • 用百度云服务器做网站帝国后台网站如何设置自动刷新首
  • 盐城网站建设网站制作推广wordpress的qq邮件列表qq邮件列表订阅rss源地址怎么找
  • 用腾讯云做购物网站视频做网站保证效果
  • 山东省建设工程管理局网站ps制作网站logo
  • 响应式网站宽度236企业邮箱登陆入口
  • 网站开发商外包论坛网站开发中遇到的问题
  • 【穿越Effective C++】条款7:为多态基类声明virtual析构函数——C++多态资源管理的基石
  • wordpress几个网站共用用户wordpress不能更新
  • 网站建设空间是指什么app开发平台
  • 【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
  • 102.二叉树的层序遍历
  • 互粉的网站是怎么做的浏览器网站入口
  • 企业网站建设参考资料WordPress首页站内搜索
  • 宁波做网站优化设计制作一个 个人主页网站
  • 合肥做公司网站一般多少钱智能建站加盟电话
  • app外包网站上海有什么公司名称
  • 做网站需要几天温岭app开发公司
  • 【java】【springboot】队列涉及订单关闭数据返还异常
  • 建立主题网站的一般步骤哈什么网一个网站做ppt
  • 红色企业网站攸县网站制作公司
  • 夜莺监控设计思考(三)时序库、agent 的一些设计考量
  • 深圳个性化建网站服务商西安网站建设工作室