C语言 字符串的相关操作 学习笔记

C语言 字符串的相关操作 学习笔记

#include <string.h>
int strlen(char *str):返回的是不包含最后’/0’的字符数目

  • 区别sizeof(char str),它只是一个操作符非函数,返回的数目有两种:1.str[]是静态数组,则返回其内存所占的长度。2.str[]是动态数组,则返回的是’/0’截止的字符数目(包含’/0’)

char * strcpy(char* dest,char* src):返回的是desk的首地址(方便对目标进一步操作

  • 字符串复制操作,将参数src字符串(包括"/0")复制到desk指向的地方。可能会导致溢出。

char * strncpy(char* dest,char* src,int num):返回的是desk的首地址

  • 有限定长度的字符串复制操作,即将src的前num位复制给desk(若不够num位用0补齐)

char* strcat(char* dest,const char* src):返回的是desk的首地址

  • 字符串拼接操作,将src的字符串拼接到desk‘/0’的位置及之后,同时将‘/0’挪到拼接后字符串的末尾。

char* strncat (char* dest,const char* src,size_t num):返回的是desk的首地址

  • 限定长的字符串拼接操作,将n位src的字符串拼接到desk‘/0’的位置及之后。

int strcmp (const char* str1,const char* str2):返回的是0/< 0/> 0的数值

  • 字符串比较操作,若相同则返回0,s1>s2,则返回>0的数值;反之,则返回的是<0的数值。
    判断两个字符串大小
    1)ASII码 2)长度
    如果希望不区分大小写进行字符串比较,可以使用stricmp函数

int strncmp(const char* str1,const char* str2,size_t num):同上

  • 限定长度的字符串比较操作。(前n位进行比较)

int atoi(char *s):返回的是转化后的整形数据或者0(转化失败)

  • 将数字字符串转化成整形数据的操作,不通过ASCII码,而是直接转换
  • 头文件是<stdlib.h>
  • 补充与之对称的函数
  • 原型:int itoa(int num, char* str, int jinzhi)
    功能:把 num 按 radix 进制进行转换,得到的转换结果保存到 str 指向的内存中。
    返回:转换成功为 0,转换失败为 -1。
发布了10 篇原创文章 · 获赞 0 · 访问量 111

猜你喜欢

转载自blog.csdn.net/weixin_45076393/article/details/104478055