首页 > 其他 > 详细

C库函数随笔

时间:2021-08-04 19:29:18      阅读:14      评论:0      收藏:0      [点我收藏+]

字符串

1.strlen字符串长度计算

int main(){
    int len = "abcdef";
    printf("%d\n", strlen(len)); // 6; strlen求字符串长度,返回 unsigned int(注:如果比较不会小于0); 字符串里必须要有 \0 
    return 0;
}

 

2.strcat\strncat字符串追加

int main(){
    char arr1[20] = "hello";
    char arr2[] = "world";
    strcat(arr1, arr2);
    printf("%s\n", arr1); // helloword 注意:被追加元素的大小要放的下追加之后的总大小;追加时只认被追加元素的\0
    return 0;
}
-------------------- 限制个数strncat --------------------
int main(){
  char arr1[20] = "hello";
  char arr2[] = "world";
  strncat(arr1, arr2, 2);
  printf("%s\n", arr1); // hellowo 注意:被追加元素的大小要放的下追加之后的总大小;追加时只认被追加元素的\0
  return 0;
}

 

3.strcpy\strncpy字符串拷贝

int main(){ 
    char arr1[] = "abcdef";
    char arr2[] = "gg";
    printf("%s", strcpy(arr1, arr2)); // gg; strcpy拷贝字符串,返回目的地,将arr2拷贝到arr1; arr1所占空间要大于arr2
    //printf("%s", strcpy(arr1, "hehe")); // hehe
    return 0;
}
-------------------- 限制个数strncpy --------------------
int main(){
  char arr1[8] = "abc";
  char arr2[] = "hello word";
  strncpy(arr1, arr2, 7); // 记得会把 \0 也拷贝过去,所以其实拷贝了8个;如果你拷贝了3个但是其实只有1个会补2个0
  printf("%s", arr1);
  return 0;
}

 

4.strcmp\strncmp字符串比较

int main(){
    // strcmp字符串比较,从第一个字符开始比较; 第一个大于第二个返回大于0的数,相同返回0,第一个小于第二个返回小于0的数,ascii码值比较
    char* p1 = "abc";
    char* p2 = "sbx";
    int tem  = strcmp(p1,p2);
    printf("%d\n",tem); // -1
    return 0;
}
-------------------- 限制个数strncmp --------------------
int main(){
  char* p1 = "avdf";
  char* p2 = "avda";
  int tem = strncmp(p1, p2, 3);
  printf("%d", tem); // 0 ; 只比较前三个
  return 0;
}

 

5.

C库函数随笔

原文:https://www.cnblogs.com/fxw1/p/15099866.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!