C语言字符串函数大全,字符串复制strcpy,字符串比较strcmp,字符串连接strcat,strstr,strncpy,strerror...

【C语言进阶】字符串&内存函数 前言: 字符串是一种非常重要的数据类型,但是C语言不存在显式的字符串类型,C语言中的字符串都以字符串常量的形式出现或存储在字符数组中。字符串常量适用于那些对它不做修改的字符串函数。同时,C 语言提供了一系列库函数来对操作字符串,这些库函数都包含在头文件 string.h 中。 目录 一、求字符串长度 strlen strlen函数的模拟实现 二、长度不受限制的字符串函数 strcpy strcpy函数的模拟实现 strcat strcat函数的模拟实现 str... 阅读详情

前言:

字符串操作是编程语言最基础最永恒的话题,几乎所有的编程语言都提供字符串操作函数。C语言中,有丰富的字符串函数,现将它们的用法列出来,供读者参考。

字符串操作常用函数:

1. 复制相关函数=======:

(1)strcpy

声明: char *strcpy(char *dest, char *src);
功 能: 复制函数,将参数src 字符串拷贝至参数dest 中。
程序例:

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

int main(void)
{
    char string[10];
    char *str1 = "abcdefghi";

    strcpy(string, str1);
    printf("%s\n", string);
    return 0;
}

运行结果:

abcdefghi

(2)stpcpy

声明: char *stpcpy(char *dest, char *src);
功 能: 复制函数,将参数src 字符串拷贝至参数dest 中。
程序例:

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

int main(void)
{
   char string[10];
   char *str1 = "abcde";

   stpcpy(string, str1);
   printf("%s\n", string);
   return 0;
}

运行结果:

abcde

(3)strdup

声明: char *strdup(char *str);
功 能: 将串拷贝到新建的位置处。strdup()会先用malloc()配置与参数str 字符串相同的空间大小,然后将参数s 字符串的内容复制到该内存地址,然后把该地址返回。该地址最后可以利用free()来释放。
程序例:

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

int main(void)
{
    char *dup_str, *string = "abc";

    dup_str = strdup(string);
    printf("%s\n", dup_str);
    free(dup_str);

    return 0;
}

2. 连接相关函数======:

(4)strcat:

声明: char *strcat(char *destin, char *source);
功 能: 字符串拼接函数
程序例:

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

int main(void)
{
   char destination[25];
   char *blank = " ", *c = "C++", *Borland = "Borland";

   strcpy(destination, Borland);
   strcat(destination, blank);
   strcat(destination, c);

   printf("%s\n", destination);
   return 0;
}

运行结果:

Borland C++

3.比较相关函数======:

(5)strcmp:

声明: int strcmp(char *str1, char *str2);
功 能: 串比较。看Asic码,str1>str2,返回值 > 0;两串相等,返回0。区分大小写。
程序例:

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

int main(void)
{
    char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
    int ptr;

    ptr = strcmp(buf2, buf1);
    if (ptr > 0) {
	    printf("buffer 2 is greater than buffer 1\n");
    } else {
    	printf("buffer 2 is less than buffer 1\n");
    }
       

    ptr = strcmp(buf2, buf3);
    if (ptr > 0) {
        printf("buffer 2 is greater than buffer 3\n");
    } else {
    	printf("buffer 2 is less than buffer 3\n");
    }
       
    return 0;
}

运行结果:

buffer 2 is greater than buffer 1

buffer 2 is less than buffer 3

(6)strncmp:

声明: int strncmp(char *str1, char *str2, int maxlen);
功 能: 串比较, 把 str1 和 str2 进行比较,最多比较前 n 个字节。
程序例:

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

int main(void)
{
   char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";
   int ptr;

   ptr = strncmp(buf2,buf1,3);
   if (ptr > 0) {
       printf("buffer 2 is greater than buffer 1\n");
   } else {
       printf("buffer 2 is less than buffer 1\n");
   }
      
   ptr = strncmp(buf2,buf3,3);
   if (ptr > 0) {
	   printf("buffer 2 is greater than buffer 3\n");
   } else {
   	   printf("buffer 2 is less than buffer 3\n");
   }
   return(0);
}

运行结果:

buffer 2 > buffer 1

buffer 2 <= buffer 3

(7)stricmp和strcmpi:

声明:

int stricmp(char *str1, char *str2);

int strcmpi(char *str1, char *str2);
功 能: 以大小写不敏感方式比较两个串,与strcmpi功能一样。

注意:这2个函数只在不是跨平台的,在macos中就可能编译不过。
程序例:

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

int main(void)
{
   char *buf1 = "BBB", *buf2 = "bbb";
   int ptr;

   ptr = stricmp(buf2,buf1);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");

   if (ptr < 0)
      printf("buffer 2 is less than buffer 1n");

   if (ptr == 0)
      printf("buffer 2 equals buffer 1\n");

   return 0;
}

编译结果:

在macos中使用gcc编译结果:

teststr.c:9:12: error: implicit declaration of function 'stricmp' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

   ptr = stricmp(buf2,buf1);


程序例:

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

int main(void)
{
   char *buf1 = "BBB", *buf2 = "bbb";
   int ptr;

   ptr = strcmpi(buf2,buf1);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");

   if (ptr < 0)
      printf("buffer 2 is less than buffer 1n");

   if (ptr == 0)
      printf("buffer 2 equals buffer 1\n");

   return 0;
}

编译结果:

在macos中使用gcc编译结果:

teststr.c:9:12: error: implicit declaration of function 'strcmpi' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

   ptr = strcmpi(buf2,buf1);

(8)strnicmp和strncmpi:

功 能: 把串中的一部分与另一串中的一部分比较, 忽略大小写。
注意: 这个函数只在不是跨平台的,在macos中就可能编译不过。

程序例:

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

int main(void)
{
   char *buf1 = "BBBccc", *buf2 = "bbbccc";
   int ptr;

   ptr = strnicmp(buf2,buf1,3);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");

   if (ptr < 0)
      printf("buffer 2 is less than buffer 1\n");

   if (ptr == 0)
      printf("buffer 2 equals buffer 1\n");

   return 0;
}

运行结果:

teststr.c:9:12: error: implicit declaration of function 'strnicmp' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

   ptr = strnicmp(buf2,buf1,3);


(9)strncpy:

声明: char *strncpy(char *destin, char *source, int maxlen);
功 能: 串拷贝。把 source 所指向的字符串复制到 destin,最多复制 n 个字符。当 source 的长度小于 n 时,destin 的剩余部分将用空字节填充。
程序例:

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

int main(void)
{
   char string[10];
   char *str1 = "abcdefghi";

   strncpy(string, str1, 3);
   string[3] = '\0';
   printf("%s\n", string);
   return 0;
}

运行结果:

abc

4.字符串查找相关函数:

(10)strpbrk:

声明: char *strpbrk(char *str1, char *str2);
功 能: 在串中查找给定字符集中的字符
程序例:

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

int main(void)
{
   char *string1 = "abcdefghijklmnopqrstuvwxyz";
   char *string2 = "stu";
   char *ptr;

   ptr = strpbrk(string1, string2);

   if (ptr)
      printf("strpbrk found first character: %c\n", *ptr);
   else
      printf("strpbrk didn't find character in set\n");

   return 0;
}

运行结果:

strpbrk found first character: s

(11)strchr:

声明: char *strchr(char *str, char c);
功 能: 在一个串中查找给定字符的第一个匹配之处。
程序例:

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

int main(void)
{
    char string[20];
    char *ptr, c = 'h';

    strcpy(string, "This is a string");
    ptr = strchr(string, c);
    if (ptr)
       printf("The character %c is at position: %d\n", c, ptr-string);
    else
       printf("The character was not found\n");
    return 0;
}

运行结果:

The character h is at position: 1

(12)strrchr:

声明: char *strrchr(char *str, char c);
功 能: 在参数 str 所指向的字符串中搜索最后一次出现字符 c(一个无符号字符)的位置。
程序例:

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

int main(void)
{
   char str[20];
   char *ptr, c = 'r';

   strcpy(str, "This is a string");
   ptr = strrchr(str, c);
   if (ptr)
      printf("The character %c is str: %s\n", c, ptr);
   else
      printf("The character was not found\n");
   return 0;
}

运行结果:

The character r is str: ring

(13)strstr:

声明: char *strstr(char *str1, char *str2);
功 能: 在串中查找指定字符串的第一次出现
程序例:

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

int main(void)
{
   char *str1 = "Borland International", *str2 = "nation", *ptr;

   ptr = strstr(str1, str2);
   printf("The substring is: %s\n", ptr);
   return 0;
}

运行结果:

The substring is: national

(14)strspn:

声明: int strspn(char *str1, char *str2);
功 能: 在串中查找指定字符集的子集的第一次出现
程序例:

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

int main(void)
{
   char *string1 = "1234567890";
   char *string2 = "123DC8";
   int length;

   length = strspn(string1, string2);
   printf("Character where strings differ is at position %d\n", length);
   return 0;
}

运行结果:

Character where strings differ is at position 3

(15)strcspn:

声明: int strcspn(char *str1, char *str2);
功 能: 在串中查找第一个给定字符集内容的段
程序例:

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

int main(void)
{
    char *string1 = "1234567890";
    char *string2 = "345";
    int length;

    length = strcspn(string1, string2);
    printf("Character where strings intersect is at position %d\n", length);

    return 0;
}

运行结果:

Character where strings intersect is at position 2

(16)strtok:

声明: char *strtok(char *str1, char *str2);
功 能: 查找由在第二个串中指定的分界符分隔开的单词
程序例:

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

int main(void)
{
   char input[16] = "abc,d";
   char *p;

   /* strtok places a NULL terminator
   in front of the token, if found */
   p = strtok(input, ",");
   if (p)   printf("%s\n", p);

   /* A second call to strtok using a NULL
   as the first parameter returns a pointer
   to the character following the token */
   p = strtok(NULL, ",");
   if (p)   printf("%s\n", p);
   return 0;
}

运行结果:

abc

d

5.字符串修改相关函数:

(17)strset:

声明:char *strset(char *str, char c);
功 能: 将一个串中的所有字符都设为指定字符
程序例:

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

int main(void)
{
   char string[10] = "123456789";
   char symbol = 'c';

   printf("Before strset(): %s\n", string);
   strset(string, symbol);
   printf("After strset(): %s\n", string);
   return 0;
}

(18)strnset:

声明: char *strnset(char *str, char ch, unsigned n);
功 能: 将一个串中的所有字符都设为指定字符
程序例:

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

int main(void)
{
   char *string = "abcdefghijklmnopqrstuvwxyz";
   char letter = 'x';

   printf("string before strnset: %s\n", string);
   strnset(string, letter, 13);
   printf("string after strnset: %s\n", string);

   return 0;
}

(19)strrev:

声明: char *strrev(char *str);
功 能: 串倒转函数
程序例:

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

int main(void)
{
   char *forward = "string";

   printf("Before strrev(): %s\n", forward);
   strrev(forward);
   printf("After strrev(): %s\n", forward);
   return 0;
}

注意:strset,strnse,strrev都不是系统函数,在macos下都编译不过。
 

6.字符串转换相关函数=====:
 

(20)strtol:

声明: long strtol(char *str, char **endptr, int base);
功 能: 将串转换为长整数
程序例:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
   char *string = "87654321", *endptr;
   long lnumber;

   /* strtol converts string to long integer */
   lnumber = strtol(string, &endptr, 10);
   printf("string = %s\nlong = %ld\n", string, lnumber);

   return 0;
}

运行结果:

string = 87654321

long = 87654321

(21)strtod:

声明: double strtod(char *str, char **endptr);
功 能: 将字符串转换为double型值
程序例:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   char input[80], *endptr;
   double value;

   printf("Enter a floating point number:");
   gets(input);
   value = strtod(input, &endptr);
   printf("The string is %s\nthe number is %lf\n", input, value);
   return 0;
}

运行结果:

% ./a.out

warning: this program uses gets(), which is unsafe.

Enter a floating point number:123

The string is 123

the number is 123.000000

(21)strupr:

声明: char *strupr(char *str);
功 能: 将串中的小写字母转换为大写字母
程序例:

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

int main(void)
{
   char *str = "abcdefghijklmnopqrstuvwxyz", *ptr;

   /* converts string to upper case characters */
   ptr = strupr(str);
   printf("%s\n", ptr);
   return 0;
}

注意:该函数不是跨平台的,在macos下,编译不过。

7.其它函数======:

(22)swab:

声明: void swab (char *from, char *to, int nbytes);
功 能: 交换字节
程序例:

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

char source[15] = "rFna koBlrna d";
char target[15];

int main(void)
{
   swab(source, target, strlen(source));
   printf("This is target: %s\n", target);
   return 0;
}

运行结果:

This is target: Frank Borland


(23)strerror:

声明: char *strerror(int errnum);
功 能: 返回指向错误信息字符串的指针
程序例:

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

int main(void)
{
	int fd;
	extern int errno;
    char *buffer;
   
    buffer = strerror(errno);
    printf("Error: %s\n", buffer);
    return 0;
    
}

运行结果:

Error: Undefined error: 0


字符串操作,编程语言永恒的主题。

Cesium实战:全球海洋动态水面与自定义区域波浪效果实现 本文详细介绍了在Cesium中实现全球海洋动态水面与自定义区域波浪效果的实战方法。通过解析核心概念Primitive与Geometry,并深入讲解Water材质的关键参数调节,指导开发者快速创建逼真的动态海洋。文章重点阐述了如何利用多边形坐标定义不规则图形区域,实现精准的局部水域波浪效果,并提供了性能优化与视觉提升的实用技巧。 阅读详情

相关推荐

Type-C快充移动电源芯片避坑指南:IP5356配置全流程(支持PD3.0)

本文详细解析了英集芯IP5356芯片在Type-C快充移动电源中的应用,提供了从芯片选型、原理图设计、PCB布局到PD协议调试的全流程实战指南。文章重点剖析了如何避免散热、EMI及协议握手等常见设计陷阱,并分享了量产前的关键测试验证方法,旨在帮助硬件开发者高效打造稳定可靠的快充产品。

weixin_29235525的博客 849

C 和 C++ 字符串函数操作

1)字符串操作 strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen(p) 取字符串长度strcmp(p, p1) 比较字符串strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串strchr(p,...

WeiWeiWqq的博客 515

SD--根据订单创建出库单(相关的函数列表的介绍系列篇(2))

创建订单样例代码参见:http://blog.csdn.net/CompassButton/archive/2007/05/09/1601712.aspx 可以根据一个订单或者部分订单项来创建出库单,代码如下:* Populating the item data lx_sales_item-ref_doc = l_vbeln. lx_sales_item-ref_item = c_000010

SAP BLOG--Jack Wu 6226

C语言常用字符串函数strlen、strcpy、strcat、strcmp、strchr

C语言常用字符串函数,求串长(strlen(char *s))、串复制(strcpy(char *s1,char *s2))、串连接(strcat(char *s1,char *s2))、串比较(strcmp(char *s1,char *s2))、串定位(strchar (*s,char c)) 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的

baiqi123456的博客 916

VMware ESXi +DELL虚拟化存储磁盘容量处于紧急状态问题的处理

1、环境介绍 exsi server两台(DELL R730 ): 192.168.3.206 VMware EXSi6.5 192.168.3.207 VMware EXSi6.5 磁盘存储柜一台(DELL SC2000): 192.168.3.208 2、故障处理 由于前期规划的卷空间过大,虚拟机文件逐年增大以后,造成卷的磁盘占用过与整个磁盘空间的容量,虚拟化平台可用容量爆掉,DELL SC2000自动切换到紧急状态,禁止所有磁盘I/O,exsi主机上的虚拟机无法开机 首先,安装

wolf1105的博客 3531

科研指南:IEEE期刊LaTeX/Word模板下载与使用全解析

本文详细解析了IEEE期刊LaTeX/Word模板的下载与使用技巧,帮助科研人员高效完成论文排版。从官方模板获取入口到LaTeX文档结构配置,再到Word样式管理与常见问题解决方案,全面覆盖投稿准备的关键步骤。特别针对数学公式、参考文献和图片处理等难点提供实用建议,助力学术写作规范化。

weixin_28396629的博客 566

c语言中字符串的复制、连接和比较及字符串的长度函数

c语言中字符串的复制、连接和比较及字符串的长度函数

和大家一起涨芝士 1128

qt下使用grpc编程(2) —— 练手!自己改的一个简单小例子!1

(1)在研究了grpc官方提供的helloworld例程后,自己试着写了个小程序。 (2)编写proto文件。 proto文件用于定义服务和消息,用protobuf的语法编写,protobuf是一种通信协议,详细请百度。下面附上源码: syntax = "proto3"; option java_multiple_files = true; option java_pac

u011099079的博客 3925

c 字符串操作函数strtok、strstr、strchr备忘

今天遇到平时比较少用的这三个字符串函数,查资料并测试了一下,备忘。。。 头文件:#include 1、 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok()用来将字符串分割成一个个片段. 参数s 指向欲分割的字符串, 参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数 delim 的分割

记录、分享。。。知识来源于不懈追求!!交流让世界更美好~ 2881

基于STM32XX的LCD液晶显示屏(HS19264G06A、驱动芯片:ST7525)驱动C程序设计

define USE_HW_SPI 1 // 1:使用硬件SPI, 0:使用软件模拟SPI。

myron6688的博客 234

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1467

C++字符串函数详解

2009-07-13 21:12转载自:http://zhanglong2004.spaces.live.com/?owner=1void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest, const void *

江湖菜鸟的专栏 1090

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(三)

基于若依的ruoyi-nbcio-plus支持VForm3表单字段数据保存到数据库的一种方法——全网首创(三)

宁波阿成的博客 524

字符串函数 strlen strcpy strcat strcmp strstr strtok strerror

dest++ = *src++,虽然++的优先级比*的优先级高,但后置++,先使地址解引用,得到dest和src的内容,后*dest = *src,最后才是地址dest++,src++。strtok函数的第一个参数不为NULL,函数将找到str中的第一个标记,strtok函数将保存它在字符串的位置。是 C 语言中的一个字符串追加函数,用于将一个字符串的一部分追加到另一个字符串的末尾。是一个 C 语言中的字符串库函数,用于将一个字符串(源字符串)追加到另一个字符串(目标字符串)的末尾。

bkmoo的博客 2371

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

strlen strcpy strcat strcmp strncpy strncat strstr strtok等函数的使用及简单模拟

strlen是C语言中的的一个库函数,包含在头文件string.h中。strlen被用来求字符串的长度,统计的是‘\0’之前的字符个数。返回值size_t,无符号整数,意为字符串的长度是一个正整数。strcpy()包含在头文件string.h中,str-代表是字符串,cpy-是copy(复制)的意思,原型char* strcpy(char * destination, const char * source );

T2004_S的博客 1878

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C语言字符函数和字符串函数

strcpy函数的作用是将source指向的字符串复制到destination指向的数组中,包括结束的null('\0')字符(并在该点停止)。 strcat函数是用来连接(追加)字符串的,将源字符串的副本追加到目标字符串的后面。 strcmp函数是用来比较两个字符串的内容的。这个函数从两个字符串的第一个字符开始比较。如果它们彼此相等,则继续比较下一对,直到遇到不同的字符或达到终止空字符为止。

m0_62183318的博客 1570

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【C语言】17.字符函数和字符串函数

这篇文章详细讲解了常用的字符函数和字符串函数,希望能对你有帮助

yuansanshui_520的博客 1807

C语言字符串函数详解(strlen strcpy strcat strcmp strstr strtok strerror)

C语言字符串函数原理深入剖析和实现 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录C语言字符串函数原理深入剖析和实现前言一、求字符串长度 strlenstrlen三种实现方法1.计数器2.指针-指针3.递归二、长度不受限制的字符串函数 strcpy strcat strcmp1.strcpystrcpy 实现2.strcatstrcat 实现3.str

艾小方的博客 1352

C语言——字符串函数(七千字详解)

自从学会了字符串函数,做题有速度了,头发也长起来了。

2202_75625589的博客 7196

字符函数strlen、strcpy、strcat、strcmp、strstr、strtok、 strerror和perror函数

这个头文件中说明的,C语言程序启动的时候就会使用一个全面的变量 errno 来记录程序的当前错误码,只不过程序启动的时候 errno 是0,表示没有错误,当我们在使用标准库中的函数的时候发生了某种错误,就会将对应的错误码,存放在 errno 中,而一个错误码的数字是整数很难理解是什么意思,所以每一个错误码都是有对应的错误信息的。haystack和needle分别指向字符串的首字母,如果找到相同的字符,haystack和needle向后移一位,如果没有找到相同的,haystack向后移一位。

2303_80078385的博客 1038

字符串和内存函数(1)

字符串和内存函数(1)

weixin_73077334的博客 2380

2.9字符函数和字符串函数 (字符分类函数,字符转换函数,strlen,. strcpy,strcat追加函数,strcmp 函数strncpy,strncat,strncmp,strstr 函数)

很多人可能下意识认为arr2[ ]中的字符串长度会比较长,但是其实字符串的比较是一个字符一个字符来的,在a与b比较一样后,然后c和q进行比较,由于q的ascill值比c大所以返回的是小于0的值。功能:用来比较 str1 和 str2 指向的字符串,从两个字符串的第一个字符开始比较,如果两个字符的 ASCII 码值相等,就比较下一个字符。这是因为我们的strlen函数返回的是无符号整形,而计算机在无符号整形计算的时候是默认结果也是无符号整形的,所以我们算出来并不是- 3,而是一个非常大的正数。

2501_93720311的博客 1133

C语言--assert、strlen、strcpy、strcat、strcmp、strncpy、strncat、strstr、strtok、strerror、memcpy、memmove、memcmp

这篇博客介绍了常用的字符函数以及内存操作函数

2301_78847073的博客 902

C语言--字符串函数

本文介绍了C语言中常用的字符串处理函数,包括strlen、strcpy和strcat等使用方法及模拟实现。

2301_81703165的博客 1581

新手小白必了解c语言之字符串函数

c语言中字符串是一个特殊的存在,相关操作是由各式各样的字符串函数来实现的,接下来我们就讲解c语言中常见并且常用的字符串函数 2. C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串 中或者 字符数组 中。

Miwll的博客 3077

C语言 字符串函数使用

strlen统计的是‘/0’之前的字符个数,到‘/0’就结束了。注意 函数的返回值为,是⽆符号的使用:在使用时需要包含头文件<string.h>

uyeonashi的博客 1877
上一篇: C语言中的字符串转换函数-atof,atoi,atol,printf,tolower,toupper,toascii...等等
下一篇: Android源码分析-ActivityManagerService(AMS)源码分析
liranke
博客等级 码龄20年 4939粉丝 594原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值