当前位置: 首页 > news >正文

C语言常用的字符串函数

一、目的

   介绍四个常用的字符串函数。

 

 

二、字符串函数需要的库

#include<string.h>

 

 

三、主要函数

 

  (一)求字符串的长度

 1、函数的语法格式

size_t   strlen(const char*  p)

 参数说明:

    cons char* p  :接收一个char类型的数组或者字符变量;

 返回值:

    整数: 参数代表的字符串序列的长度(是拥有的字节长度);

 

 

2、使用案例

#include<stdio.h>

#include<string.h>

int main(){
    char n[50] = {"abc\0"};

 

    // 打印长度
    printf("长度:%d \n", strlen(n));
    return 0;
}

 结果:

长度:3

 

 

(二)连接函数

  把两个字符串连接起来。

 

  1、函数语法

char *  strcat(char * dest,   const char * src);

 参数说明:

     char* dest     : 存放最终结果的数组或者字符串空间位置

     char* src   :  存放需要连接的字符串的数组或者字符串空间指针

 

返回值:

    char*类型:  返回和dest一样的地址

 

通俗解释:把src位置的字符串接在dest位置的字符串的后面;dest需要空间足够;

 

 

  2、使用案例

#include<stdio.h>

#include<string.h>

int main(){
    // 存放连接后的结果 
    char des[15] = {"hello "};
    
    // 需要连接的字符串
    char src[7] = "world!\0";
     

   // 开始连接
    char* result_p = strcat(des, src);
    
    printf("des的内容:%s \n", des);
    printf("src数组的内容: %s \n", src);
    printf("result_p的内容:%s \n", result_p);


    return 0;

结果:

des的内容:hello world!
src数组的内容: world!
result_p的内容:hello world!

 

 

(三)复制函数

    把一个空间的字符串复制一份到另一个空间里。

  1、函数语法

char*  strcpy(char *  dest,  const char*  src);

 参数说明:

     char* dest     : 存放复制后的结果的数组或者字符串空间指针

     char* src   :  存放目标复制字符串的字符串的数组或者字符串空间指针

 

  返回值:

     char*类型:  返回和dest一样的地址

 

 

通俗解释:把src位置的内容复制一份给dest位置的空间;

 

  2、案例
 

#include<stdio.h>

#include<string.h>

 

int main(){
    // 存放复制结果
    char dest[50];

 

    // 存放复制的目标字符串
    char src[10] = "abc\0";

 

    // 开始复制
    char* p = strcpy(dest, src);


    printf("des的内容:%s \n", dest);
    printf("src数组的内容: %s \n", src);
    printf("p指针指向的值:%s \n", p);
    
    return 0;
}

结果:
 

des的内容:abc
src数组的内容: abc
p指针指向的值:abc

 

 

 (四)比较函数

    比较两个字符串是否相等;

  1、函数语法

int  strcmp(const char* str1,  const char*   str2)

 参数说明:

      const char*  str1    :参与比较的第一个字符串的存放指针

      const char*  str2    :参与比较的第二个字符串的存放指针

 

 

  返回值:

      0    :如果两个字符串相等;

      -1   : 如果str1小于str2;

      1    : 如果str1大于str2;

 

  注意:是按照ASCII编码的顺序比较,靠后面的比前面的字符大;

 

 

  2、使用案例

#include<stdio.h>

#include<string.h>

 

int main(){

    // 存放第1个字符串

    char str1[10] = {"abc"};

    // 存放第2个字符串
    char str2[10] = {"abcd"};
    
    printf("比较结果:%d \n", strcmp(str1, str2));


    return 0;
}

 

 结果:

比较结果:0

 如果是"abcd"和"abc"比较,结果是1。

 如果是"abce"和"abcd"比较,结果是1。

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/100954.html

相关文章:

  • CS(载波监听)机制
  • 【考研】计算机网络
  • “屏幕“的实现_程序中如何将数据映射到硬件_C++实战
  • Linux的shell的前置任务
  • Java网络编程演进:从NIO到Netty的UDP实践全解析
  • Java HMAC加密/解密详解
  • 优化程序命名:提升专业感与用户体验
  • 《孟婆汤的SHA-256加密》
  • 51单片机的五类指令(一)——数据传送类指令
  • 微服务核心知识点深度解析:从组件到架构设计
  • 《边缘计算风云录:FPGA与MCU的算力之争》
  • [MySQL数据库] InnoDB存储引擎(一) : MySQL架构与常见存储引擎
  • Python实现概率分布公式及可视化
  • MySQL 的事务
  • 乡土中国--农村和城市生态的区别
  • 笔试专题(五)
  • 瑞芯微RKRGA(librga)Buffer API 分析
  • 8.4考研408简单选择排序与堆排序知识点深度解析
  • vue3为什么要用引入Composition api
  • PyTorch版本过低导致属性错误-Linux服务器
  • 【操作系统】软中断vs硬中断
  • 探索量子世界的钥匙:薛定谔与薛定谔方程
  • 手机上(ios安卓)如何打开网页控制台
  • WPS宏开发手册——Excel常用Api
  • 解决前端项目中无法识别 .node 文件的依赖安装问题
  • PTA团体程序设计天梯赛——L1-030 一帮一
  • 3.27学习总结 爬虫+二维数组+Object类常用方法
  • wfs.js之h264转码mp4分析
  • python 语法篇(一)
  • 从理论到实践:WGS84与GCJ02坐标系详解及腾讯API坐标转换指南,奥维地图坐标转换