美文网首页
字符串常见API

字符串常见API

作者: simbanyan | 来源:发表于2019-04-07 13:21 被阅读0次
字符串常见API
  • 复制

    • char *strcpy(char *dest, const char *src);
      char *strncpy(char *dest, const char *src, size_t n);
      
    /*
     * 9.strcpytest.c
     */
      4 #include<stdio.h>
      5 #include<string.h>
      6 int main() {
      7     char str1[]="1234567890";
      8     char c[20];
      9     char *p1=c;
     10     char str2[30]="ABCDEFGKMKLOPKSZISFSFS";
     11     strcpy(p1,str1);
     12     printf("p1:%s\n",p1);
     13     strcpy(str2,str1);
     14     printf("str2:%s\n",str2);
     15     strncpy(str2,"abcdefg",3);
     16     printf("str2:%s\n",str2);
     17     strncpy(p1,"abcdefghijklmnopqrst",14);
     18     printf("p:%s\n",p1);
     19 }/*
    ~       out:
    p1:1234567890
    str2:1234567890   // strcpy 在复制完成后会在末尾添加'\0',也可以说它复制了'\0'
    str2:abc4567890  // strncpy  复制完成不会在末尾添加'\0'
    p:abcdefghijklmnet�*/
    

    总结: strcpy 会复制字符串后面的'\0',而strncpy 本身是部分截取,无法复制后面的'\0',也没有添加。

  • 比较

    • int strcmp(const char *s1, const char *s2);
      int strncmp(const char *s1, const char *s2, size_t n);
      
        1 /*
        2  * 9.strcmptest.c
        3  */
        4 #include<stdio.h>
        5 #include<string.h>
        6 int main() {
        7     char str1[]="123abc";
        8     char str2[]="123456789";
        9     printf("strcmp : %d\n",strcmp(str1,str2));
       10     printf("strncmp : %d\n",strncmp(str1,str2,3));
       11 }
      /* out:
      strcmp : 45
      strncmp : 0   str1-str2  返回相减的值
      */
      
  • 拼接

    •  char *strcat(char *dest, const char *src);
      
       char *strncat(char *dest, const char *src, size_t n);
      
      1 /*
      2  * 9.strcattest.c
      3  */
      4 #include<stdio.h>
      5 #include<string.h>
      6 int main() {
      7     char str1[50]="1234";
      8     char str2[]="abcdefg";
      9     strcat(str1,str2);
     10     printf("str1:%s\n",str1);
     11     str1[6]=0;
     12     printf("str1:%s\n",str1);
     13     strncat(str1,"ABCDFEG",3);
     14     printf("str1:%s\n",str1);
     15 }
    
    
    /*out:
    str1:1234abcdefg
    str1:1234ab
    str1:1234abABC   //截取str2 放在str1后边,并且添加了'\0'
    */
    
  • 查找

    • char *strchr(const char *s, int c);
      char *strrchr(const char *s, int c);
      
    •   1 /*
        2  * 9.strchrtest.c
        3  */
        4 #include<stdio.h>
        5 #include<string.h>
        6 int main() {
        7     char str0[30];
        8     char str1[]="abcdefghijklmnopq";
        9     char *p;
       10     p=strchr(str1,110);
       11     printf("%s\n",p);
       12 }
      // out : nopq
      
    • 总结 :strchr 第二个参数是要传入一个字符的ASCii码,可以直接传入一个字符,返回该字符在第一个位置的地址。

  • 内存复制

    •  void *memcpy(void *dest, const void *src, size_t n);
      
        1 /*
        2  * 9.memcpytest.c
        3  */
        4 #include<stdio.h>
        5 #include<string.h>
        6 int main() {
        7     char str1[]="1234567890";
        8     char str2[40]="aaaaaaaaaaaaaaaaa";
        9     memcpy(str2,str1,3);  // str1 -> str2  复制3个字节
       10     printf("str2:%s\n",str2);
       11 }
      // out :  str2:123aaaaaaaaaaaaaa
      

相关文章

  • JS 小知识点整理

    常见操作数组、字符串 API 字符串API定义用法slice(start, end)用于提取字符串中介于两个指定下...

  • ES5字符新增的方法

    字符串常见API(indexOf/charAt/substring/slice/split/replace) 1....

  • 字符串常见API

    字符串常见API 复制char *strcpy(char *dest, const char *src);char...

  • 将swift的泛字符串类型转为强类型

    泛字符串类型 API 缺点: 拼写错误 冲突 运行时崩溃 常见处理方法: 添加命名空间 不写字符串字面值 常见问题...

  • 面试题精选:字符串替换

    字符串处理在程序猿日常工作工作中非常常见,常见到几乎各种语言中都已经封装好了字符串相关的API,我们只需要直接拿过...

  • apicloud使用api.execScript({})传递JS

    apicloud中使用api.execScript({})来传递数据是非常常见且实用的做法:传递单字符串的方式这里...

  • 正则中的字符串

    一、字符串 2.字符串中的API 所有字符串中的API都无权修改原字符串,必须返回新字符串

  • 暑假复习6

    1正则 01 02 字符串中的API:所有字符串中的API都无权修改原字符串,必须返回新字符串

  • JAVA API-day01

    A API 字符串的基本操作 StringBuilder及其API

  • js day09 正则和字符串01

    1. 2.字符串中的API:所有字符串中的API都无权修改原字符串,必须返回新字符串 1)toUpperCase(...

网友评论

      本文标题:字符串常见API

      本文链接:https://www.haomeiwen.com/subject/spqsiqtx.html