zoukankan      html  css  js  c++  java
  • 5、linux下应用字符串相关调用函数列举说明

    1、函数原型int strcmp(const char *s1,const char *s2);
    设这两个字符串为s1,s2,
    规则
    当s1<s2时,返回为负数
    当s1=s2时,返回值= 0
    当s1>s2时,返回正数
    即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。如:
    "A"<"B" "a">"A" "computer">"compare"

    2、原型为extern char *strchr(const char *s,char c)

    可以查找字符串s中首次出现字符c的位置

    3、函数原型char *strncpy(char *dest,char *src,size_t n)

    把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest。

    1)src串长度<=dest串长度,(这里的串长度包含串尾NUL字符)

    如果n>src由于长度达到src NUL,正常复制,特别注意,如果src中有NULL,strncpy复制到NUL即使没到n也提前停止。如果n = src串长度,与strcpy一致。注意n的选择当n > dest串长度,dest栈空间溢出产生崩溃异常。

    2)src串长度>dest串长度

    如果n =dest串长度,则dest串没有NUL字符,会导致输出会有乱码。如果不考虑src串复制完整性,可以将dest 最后一字符置为NUL。

    4、原型为size_t strlen(const char *string); ,其中size_t实际上是unsigned int

    strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符''为止,然后返回计数器值(长度不包含'')。

     而sizeof()返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个取字节运算符,strlen是函数

    char str[20]="0123456789";

    long a=strlen(str); //a=10;

    int b=sizeof(str); //而b=20;

  • 相关阅读:
    mysql聚合函数
    轮播图与定时器
    3.23 参数 DOM 鼠标点击跟移入事件
    循环+数组
    for循环
    JS讲解跟遇到的问题
    CSS标签和属性回顾,JS初步了解
    2018.03.14理工大网站问题及解决办法
    2018.3.13 浮动 定位
    2018.3.12CSS样式
  • 原文地址:https://www.cnblogs.com/liusiluandzhangkun/p/8807419.html
Copyright © 2011-2022 走看看