首页 > 其他分享 >嵌入式学习day9(string函数族)

嵌入式学习day9(string函数族)

时间:2024-08-03 22:00:08浏览次数:9  
标签:const string day9 int s2 s1 嵌入式 char include

一丶strcpy和strncpy

1.strcpy

       #include <string.h>
       char *strcpy(char *dest, const char *src);
       功能:实现字符串复制
       参数:char *dest:目标字符串首地址
       const char *src:原字符串首地址
       返回值:目标字符串首地址
       注意:复制包括\0

#include <stdio.h>
#include <string.h>

int main(int argc, char const *argv[])
{
    char s[32] = "hello";
    char c[32] = "wor";
    strcpy(s, c);      //将数组c复制到数组s当中
    printf("%s\n", s); //wor,由于会把\0复制进去,所以s数组中复制完wor就会停止
    return 0;
}

2.strncpy

          char *strncpy(char *dest, const char *src, size_t n);
          功能:实现字符串复制
          参数:char *dest:目标字符串首地址
          const char *src:原字符串首地址
          size_t n:复制字符个数
          返回值:目标字符串首地址

#include <stdio.h>
#include <string.h>

int main(int argc, char const *argv[])
{
    char s[32] = "hello";
    char c[32] = "world";
    strncpy(s, c, 3); // 由于复制3个字符,所以是把wor复制过去
    printf("%s\n", s); // worlo
    return 0;
}

二丶strlen

            #include <string.h>
           size_t strlen(const char *s);
           功能:计算字符串的实际长度
           参数:s:字符串首地址
           返回值:字符串的实际长度

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    char buf[] = {"hello world"};
    int a = strlen(buf);       //定义一个整型变量接受strlen
    printf("%d",a);            //a=11,不包括\0 
    return 0; 
}

三丶strcat和strncat

1.strcat

         #include <string.h>

         char *strcat(char *dest, const char *src);
         功能:用于字符串拼接,将原字符串拼接到目标字符串的后面
         参数:char *dest:目标字符串首地址
         const char *src:原字符串首地址
          返回值:目标字符串首地址

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    char s1[32] = "hello";
    char *s2 = "world";
    strcat(s1, s2);
    printf("%s\n", s1); // helloworld
    return 0;
}

2.strncat

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    char s1[32] = "hello";
    char *s2 = "world";
    strncat(s1, s2, 3); //将s2的前三个字符拼接到s1中
    printf("%s\n", s1); // hellowor
    return 0;
}

四丶strcmp

        #include <string.h>

        int strcmp(const char *s1, const char *s2);
       功能:用于字符串比较
       参数:s1、s2是字符串首地址
       返回值:从字符串首个字符开始比较字符的ASCII的大小,如果相等继续向后判断
       正数 s1 > s2
         0   s1 == s2
       负数 s1 < s2

#include <stdio.h>
#include <string.h>

int main(int argc, char const *argv[])
{
    char s1[] = "hello";
    char s2[] = "helloworld";
    char *s3 = "hqyj";
    char *s4 = "nihaoshijie";
    // int ret = strcmp(s1, s2);    // s1 < s2 负数
    // int ret  = strcmp(s1, s3);   // s1 < s3 负数
    // int ret  = strcmp(s2, s4);   // s2 < s4 负数
    int ret  = strcmp(s3, s2);      // s3 > s2 正数
    printf("%d\n", ret);
    return 0;
}

标签:const,string,day9,int,s2,s1,嵌入式,char,include
From: https://blog.csdn.net/qq_64136247/article/details/140896734

相关文章

  • 嵌入式学习---DAY18:shell脚本
    shell脚本文件进程网络HtmlDbshell脚本是一系列shell命令的集合。  shell  命令解释器shell编程:解释型语言、边翻译边执行、擅长文件处理,操作系统管理、开发效率高  cp 1  2、执、效率低、移植性好C语言:编译型语言、先编译再执行、擅长数据计算和数据处理、开发......
  • QString成员函数一览表
    QString类是Qt框架中的一个核心类,用于处理Unicode字符串。它提供了大量的成员函数,用于字符串的创建、操作、查询和转换。以下是QString类的一些主要成员函数,按照功能分类:构造和赋值-QString():构造一个空字符串。-QString(constchar*):从ASCII字符串构造。-Q......
  • 嵌入式实习--MobaXterm连接开发板与SSH远端服务器详细使用教程
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、前期准备二、安装USB串口模块驱动1.1驱动未自动安装二、MobaXterm安装使用2.1MobaXterm软件安装2.2MobaXterm软件使用2.2.1连接开发板2.2.2远程SSH连接服务器前言在嵌入式Li......
  • 嵌入式软件兼容性问题
    嵌入式软件的兼容性问题是确保软件在整个生命周期内能够正常运行和升级的关键因素。以下是一些主要的兼容性问题及解决方法:1.数据兼容性:在项目初期应制定能够满足整个项目所有数据交互需求的协议。例如,如果ID字段最初只设置为1个字节,可能在后期无法满足需求,导致必须修改协议。......
  • 嵌入式Linux中的LED驱动控制(使用Pinctrl和GPIO子系统)
    在前面驱动LED的所有案例中,都是在驱动程序中去设置每个引脚的复用功能,这会导致所编写的驱动程序移植困难,可重用性差,缺乏对引脚的统一管理,容易出现引脚的重复定义等等弊病。为此,Linux内核引入了pinctrl子系统和GPIO子系统的概念。pinctrl子系统主要用于芯片引脚功能的管理,它基本上......
  • 嵌入式软件--C语言高级 DAY 8.5 相关函数
    递归函数在嵌入式中应用不常见,但对于学习C语言的我们,也要时刻记得它的作用和用法。此外还要记住sprintf尤其重要!还有时间戳!一、递归函数1.概念一个函数在函数体内又调用了本身。但必须满足两个条件:具有明显的结束条件;趋近于结束条件的趋势。2.递归原理#include<stdio.h>......
  • 嵌入式软件--C语言高级 DAY 7数组
    一、概念数组array:是多个相同类型数据按一定顺序排列的集合,并使用一个标识符命名。并通过编号(索引,亦称为下标或角标)的方式对这些数据进行统一管理。数组的长度=元素的个数标号角标是从0开始。二、define_array.c定义数组的三种形式:1.定义数组,可以先确定数组的元素个......
  • 可移动嵌入式设备
    可移动嵌入式设备是数据客户端的一种表现形式。软件的代码编写之后是运行服务器之上,服务器的数据为客户端提供服务的模式为服务器客户端模式,server2client架构。服务器可以是大型的机器,也可以是小型机,主要看数据处理量和用户量的大小。一台计算机其实就是一台简单的服务器,计......
  • 嵌入式控制器(STM32)->栈指针累寄存器
    全局变量和局部变量从存储角度理解全局变量具有固定的地址,每次读写都是一个地址,而且它的存储区域从使用到使用结束一直存在局部变量再RAM中的地址不固定,采用先进后出的RAM区域,称为栈区寄存器分为通用寄存器(R0-R12)和特殊寄存器(R13-R15)ARM基本指令系统数据传送,数据操作,跳......
  • PgStatement的executeCachedSql(String sql, int flags, String @Nullable [] column
    方法代码如下:privatebooleanexecuteCachedSql(Stringsql,intflags,String@Nullable[]columnNames)throwsSQLException{//第一部分PreferQueryModepreferQueryMode=connection.getPreferQueryMode();booleanshouldUseParameterized=false;......