zoukankan      html  css  js  c++  java
  • 字符串函数注意点

    关于结束符

    str_开关的函数在遇到''会结束运行,而mem_开关的函数会一直运行到指定的数量

        char chr1[50]="this is str1";
        char chr2[50]="this is str2";
    
        strcpy(chr1,chr2);
        printf("chr1[5]=%s
    ",&chr1[5]);
        strncpy(chr1,chr2,sizeof(chr2));
        printf("chr1[0]=%s
    ",chr1);
        printf("chr1[5]=%s
    ",&chr1[5]);
        memcpy(chr1,chr2,sizeof(chr2));
        printf("chr1[5]=%s
    ",&chr1[5]);
    
    输出如下:
    chr1[5]=is str1
    chr1[0]=this
    chr1[5]=
    chr1[5]= is str2
    
    
        char str1[11]="0123456789";
        char str2[6]="world";
        strncpy(str1,str2,5);
        printf("str1=%s
    ",str1);
     
    输出如下:
    str1=world56789
    
    • strcpy函数在复制完后在结尾会加上一个
    • strncpy函数在复制时, 如果实际可复制字符少于指定的字符数, 则在结尾一直添加直到达到指定值; 如果实际可复制字符超过指定值,则只复制到指定值且不添加
    • memcpy只会机械的复制直到达到指定值, 不会在结尾添加

    字符串分割

    char *strtok(char *s1,const char *s2);
    
        char str[]="hello?wolrd?!";
        char *p;
    
        p=strtok(str,"?");   
        printf("%s
    ",p);
        p=strtok(NULL,"?");
        printf("%s
    ",p);
        p=strtok(NULL,"?");
        printf("%s
    ",p);
        printf("str=%s
    ",str)
    

    传入的s1必须为char数组, 该函数会修改s1字符值, 将指定的分割字符替换成

  • 相关阅读:
    连续型随机变量
    离散型随机变量
    vue1.0生命周期
    vue2.0生命周期函数
    vue2.0 vue.set()
    vue2.0 vue.extend()的拓展
    vue2.0 自定义指令详解
    vue2.0 v-model指令
    vue2.0排序应该注意的问题
    vue2.0版本指令v-if与v-show的区别
  • 原文地址:https://www.cnblogs.com/cfans1993/p/6404030.html
Copyright © 2011-2022 走看看