C语言基础(四)

一、字符串相关函数

  1.gets()(输入字符串)

      格式:gets(字符串);

   (1)区别:gets(str)与scanf(“%s”,str)

      gets(str)允许输入的字符串含有空格

      scanf(“%s”,str)不允许含有空格

  注意:由于以上无法知道字符串大小,很容易导致字符数组越界

  2.fgets()(输入字符串)

    格式:fgets(char *s, int size, FILE *stream)

      s:字符串;

      size:指定最大读取字符的长度(size-1)

      stream:文件指针,如果读键盘输入的字符串,固定写为stdin

    结尾自带"\n".不用担心越界问题

  3.puts()(字符串输出)

    格式:puts(字符串)

    在输出后自动输出一个“\n”

  4.fputs()(字符串输出)

    格式:fputs(constchar * str, FILE * stream)

      s:字符串

      stream:文件指针,如果读键盘输入的字符串,固定写为stdin

    注意:fputs()是puts()的文件操作版本,但fputs()不会自动输出一个'\n'


  5.srelen()(计算指定字符串大小)

    格式:strlen(const char *s);

       s:字符串首地址

  6.strcpy()(把src所指向的字符串复制到dest所指向的空间中,'\0'也会拷贝过去)

    格式strcpy(dest, src)

    dest:目的字符串首地址

         src:源字符首地址

    连接后:

    注意:如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况。

  7.strncpy()

     功能:把src指向字符串的前n个字符复制到dest所指向的空间中,是否拷贝结束符 

        看指定的长度是否包含'\0'。

     格式:strncpy(dest, src, size_t n)

         dest:目的字符串首地址

              src:源字符首地址

              n:指定需要拷贝字符串个数

  8.strcat()

    功能:将src字符串连接到dest的尾部,‘\0’也会追加过去

    格式:strcat(dest, src)

        dest:目的字符串首地址

             src:源字符首地址

  9.strncat()

    功能:将src字符串前n个字符连接到dest的尾部,‘\0’也会追加过去

    格式:strncat(dest, src, size_t n)

        dest:目的字符串首地址

             src:源字符首地址

             n:指定需要追加字符串个数

  10.strcmp()

    功能:比较 s1s2 的大小,比较的是字符ASCII码大小

    格式:strcmp(s1,s2)

      s1:字符串1首地址

           s2:字符串2首地址

  11.strncmp()

    功能:strcmp的追加,比较前n个大小的字符大小,比较的是字符ASCII码大小

    格式:strncmp(s1,s2,n)

      s1:字符串1首地址

           s2:字符串2首地址

           n:指定比较字符串的数量

  12.sprintf()

   功能:格式化数据,然后将结果输出到str指定的空间中,直到出现字符串结束符 '\0'  为止

   格式:sprintf(str, format, ...)

      str:字符串首地址

           format:字符串格式,用法和printf()一样

  13.sscanf()

   功能:从str指定的字符串读取数据,并根据参数format字符串来转换并格式化数据

   格式:sscnf(strformat, ...)

      str:指定的字符串首地址

           format:字符串格式,用法和scanf()一样

  14.strchr()

    功能:在字符串s中查找字母c出现的位置

    格式:strchr(s, int c)

      s:字符串首地址

           c:匹配字母(字符)

  15.strstr()

    功能:查找在字符串riunv中找llunk出现的位置

    格式:strstr(riunv,link)

  16.strtok()

    功能:来将字符串分割成一个个片段。当strtok()在参数s的字符串中发现

       参数delim中包含的分割字符时, 则会将该字符改为\0 字符,当连

          出现多个时只替换第一个为\0。

    格式:strtok(str, delim)

       str:指向欲分割的字符串

            delim:为分割字符串中包含的所有字符

注意: 在第一次调用时:strtok()必需给予参数s字符串

    往后的调用则将参数s设置成NULL,每次调用成功则返回指向被分割出片段的指针

  17.atoi()

    功能:atoi()会扫描nptr字符串,跳过前面的空格字符,

       直到遇到数字或正负号才开始做转换,而遇到

       非数字或字符串结束符('\0')才结束转换,并将结果返回返回值。

    格式:atoi(nptr);

          nptr:待转换的字符串

  拓展(与atoi类似的)

    1.atof():把一个小数形式的字符串转化为一个浮点数。

    2.atol():将一个字符串转化为long类型

      

 

 

   

  

猜你喜欢

转载自www.cnblogs.com/Riunv/p/10693427.html
今日推荐