zoukankan      html  css  js  c++  java
  • 字符串与字符串函数

    一、字符串输出函数

      1、puts() 函数

      使用较为简单,只需要将字符串的地址作为参数进行传递即可。

    #include <sthio,h>
    #define DEF "I am a #define string1"
    
    int main (void){
        char str1[80] = "I am a #define string1";
        const char * str2 = "I am a #define string1";
        ...
        puts(EDF);
        puts(str1);
        puts(str2);
        puts(&str[5]);
        puts(str2 + 4);
        ...
        return 0;
    }

      puts() 函数在显示字符串时自动在其末尾添加一个换行符。【gets() 函数丢弃输入中换行符】

      puts() 函数在遇到空字符时就停止输出。【如果字符串中未含有空字符,puts() 函数不知在何处停止,会一直打印字符串后面内存中的内容】【对于字符串,其中必须确保含有空字符】

      2、fputs() 函数

      fputs() 函数是puts() 针对文件定制的版本。

      fputs() 函数的第2个参数指明要写入数据的文件。如果是要打印在显示器上,可以使用 ‘stdout’ 这一参数。

      fputs() 函数不会在输出的末尾添加换行符。【fgets() 函数保留输入中的换行符】

    char line[81];
    while (fgets(line, 81, stdin))
        fputs(line, stdout);

      3、printf() 函数

      printf() 函数不会自动在每个字符串末尾加上一个换行符。【因此需要在参数中指明换行符的位置】

      4、自定义输入 / 输出函数

      可以在getchar() 和putchar() 的基础上自定义所需要的函数。

    /*一个类似于puts() 的函数,但是不会自动添加换行符的函数*/
    #include <stdio.h>
    
    void put1(const char * string){
        while (*string != '')
            putchar (*string++);
    }

    二、常用字符串函数

      1、int strcmp (const char * s1, const char * s2)

      如果 s1 字符串在机器排序序列中位于 s2 字符串的后面,该函数返回一个正数;

      如果 s1 字符串在机器排序序列中位于 s2 字符串的前面,该函数返回一个负数;

      如果两个字符串相等,则返回0;

      2、int strncmp (const char * s1, const char * s2, size_t n)

      该函数的作用和 strcmp() 函数相似,不同的是,该函数在 n 个字符后或遇到第一个空字符时停止比较。

       3、char *  strcpy (char * restrict s1, const char * restrict s2)

      该函数把 s2 指向的字符串拷贝到 s1 指向的位置,返回值是 s1 。

      4、char *  strncharcpy (char * restrict s1, const char * restrict s2, size_t n)

      该函数把 s2 指向的字符串拷贝到 s1 指向的位置,拷贝的字符数不超过 n,其返回值是 s1。该函数不会拷贝空字符后面的字符,如果源字符串的字符少于 n 个,目标字符就以拷贝的空字符结尾;如果源字符串有 n 个或超过 n 个字符,就不拷贝空字符。

      5、char * strcat (char * restrict s1, const char * restrict s2)

      该函数把 s2 指向的字符串拷贝至 s1 指向的字符串末尾。s2 字符串的第 1 个字符将覆盖 s1 字符串的空字符。函数返回 s1 。

      6、char * strncat (char * restrict s1, const char * restrict s2, size_t n)

      该函数把 s2 字符串中的 n 个字符拷贝至 s1 指向的字符串末尾。s2 字符串的第 1 个字符将覆盖 s1 字符串的空字符。不会拷贝 s2 字符串中的空字符和气候的字符,并会在拷贝字符的末尾添加一个空字符。函数返回 s1 。

       7、char * strchr (const char * s, int c)

      如果 s 字符串中包含 c 字符,则函数返回指向 s 字符串中首次出现的 c 字符串的指针(末尾的空字符也是字符串的一部分,所以在查找范围内);如果在字符串 s 中未找到 c 字符,该函数则返回空指针。

      8、char * strpbrk (const char * s1, const char * s2)

      如果 s1 字符中包含 s2 字符串中的任意字符,该函数返回指向 s1 字符串首位置的指针;如果在 s1 字符串中未找到任何 s2 字符串中的字符,则返回空字符。

      9、char * strrchr (const char * s, int c)

      函数返回 s 字符串中 c 字符的最后一次出现的位置(末尾的空字符也是字符串的一部分,所以在查找范围内)。如果未找到 c 字符,则返回空指针。

      10、char * strstr (const char * s1, const char * s2)

      函数返回指向 s1 字符串中 s2 字符串出现的首位置。如果在 s1 中没有找到 s2,则返回空指针。

       11、size_t strlen (const char * s)

  • 相关阅读:
    pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path
    图片验证码识别:ModuleNotFoundError: No module named 'ShowapiRequest'
    升级 pip 超时解决方案
    Python 技术篇-pip版本查看和升级
    Python 使用 paho-mqtt
    what's the psutil模块
    web.py小记
    Docker 安装 Redis
    树莓派小用手册(安装系统,配置图形界面,连接WiFi,调用摄像头,安装ffmpeg)
    Navicat 破解版链接
  • 原文地址:https://www.cnblogs.com/wyt123/p/11146828.html
Copyright © 2011-2022 走看看