#include<string.h>中基础的函数你知道吗?赶紧来看看吧。

简介: #include<string.h>中基础的函数你知道吗?赶紧来看看吧。

1、函数-strlen():

描述:strlen()函数是用来计算字符串长度的,直到空字符结束,不包含空字符。简单来说就是计算你输入的字母、空格、符号等。

格式:strlen(str)

参数:str是被计数的数组。


话不多说,代码一看就懂了:

#include<stdio.h>
#include<string.h>  
//函数strlen是在string中的,所以此处要有头文件,编译器才能知道它的作用
int main()
{
  char str[]={"I study hard"};  //定义任意字符串放到数组str中
  int length;    
    //计数后是整数类型,定义length来储存
  length=strlen(str);
    //str是需要计数的字符串,直接放到strlen中进行计数,计数结果赋值给length
  printf("字符长度为:%d",length);
  return 0;
}


2、函数-strcpy和strncpy:

描述:strcpy函数是用来拷贝字符串的。strncpy也是拷贝字符串的,只不过strncpy可以限制拷贝字符串的长度。

格式:strcpy(aim,str)

参数:aim是指向复制后的目标数组,str是被复制的数组。

话不多说,上代码:

#include<stdio.h>
#include<string.h>
int main()
{
  char str[]={"I study hard"};
  char length[100];      //定义一个新的字符数组,用来存储复制后的字符串
  strcpy( length , str );    //直接将str中的字符串复制到length中
  printf("复制后字符为:%s",length);  // %s是字符串型的格式符
  return 0;
} 

格式:strncpy(aim,str,n)

参数:aim,str同上, n是要打印的字符串长度。


代码为:

#include<stdio.h>
#include<string.h>
int main()
{
  char str[]={"I study hard"};
  char length[100];
  strcpy(length,str,7);     // n=7,结果将只会复制str数组的前7个,包括空格
    length[7]='\0';       //手动加上终止符
  printf("复制后字符为:%s",length);
  return 0;
} 

注意:1、当aim的长度大于str时,多余的将会用空字节填充。

          2、strncpy需要手动加上终止符,不然有时会出问题。


3、函数-strcat和strncat:

描述:将字符串连接起来。

格式:strcat(aim,str)

参数:将str中的字符串连接在aim字符串的后面。

代码来了:

#include<stdio.h>
#include<string.h>
int main()
{
  char aim[]={"I study "};
  char str[]={"hard"}; 
  strcat(aim,str);   //将str中的字符串连接在aim的后面
  printf("复制后字符为:%s",aim);
  return 0;
} 

格式:strncat(aim,str,n)

参数:aim,str,同上,而n是限制str中的字符拿多少连接在aim后面,不会改变aim的长度。

代码来了:

#include<stdio.h>
#include<string.h>
int main()
{
  char aim[]={"I study "};
  char str[]={"hard"}; 
  strncat(aim,str,2);    //n=2是将str中前两个字符连接在aim字符串的后面
  printf("复制后字符为:%s",aim);
  return 0;
} 


4、函数-strcmp和strncmp:

描述:比较字符串,用来比较两个字符串的。

格式:strcmp(aim,str)

该函数返回值如下:

  • 如果返回值小于 0,则表示 aim 小于 str。
  • 如果返回值大于 0,则表示 aim 大于 str。
  • 如果返回值等于 0,则表示 aim 等于 str。

代码来了:

#include<stdio.h>
#include<string.h>
int main()
{
  char aim[]={"I study hard"};
  char str[]={"I study hard"}; 
  int retu;
  retu=strcmp(aim,str);   //比较两者大小
    //进行判断
  if(retu<0){
    printf("aim小于str");
  }
  else if(retu==0){
    printf("aim等于str");
  }
  else{
    printf("aim大于str");
  }
  return 0;
} 

格式:strncmp(aim,str,n)

参数:n是比较两个字符串的前几个字符,起限制的作用。就拿每一个字符串的前n个字符进行比较。

该函数返回值如下:

  • 如果返回值小于 0,则表示 aim 小于 str。
  • 如果返回值大于 0,则表示 aim 大于 str。
  • 如果返回值等于 0,则表示 aim 等于 str。


代码来了:

#include<stdio.h>
#include<string.h>
int main()
{
  char aim[]={"I study hard"};
  char str[]={"I study hard"}; 
  int retu;
  retu=strncmp(aim,str,7);   //分别拿aim和str前7个字符进行比较
  if(retu<0){
    printf("aim小于str");
  }
  else if(retu==0){
    printf("aim等于str");
  }
  else{
    printf("aim大于str");
  }
  return 0;
} 


相关文章
|
7月前
|
Java 索引
String字符串常用函数以及示例 JAVA基础
String字符串常用函数以及示例 JAVA基础
|
7月前
|
编译器 容器
C++string类的介绍及常用函数用法总结
C++string类的介绍及常用函数用法总结
87 1
|
7月前
|
存储 缓存 测试技术
CMake String函数:如何巧妙地在cmake中操作字符串
CMake String函数:如何巧妙地在cmake中操作字符串
946 0
|
4月前
|
SQL 索引
在 SQL Server 中使用 STRING_AGG 函数
【8月更文挑战第5天】
1315 2
在 SQL Server 中使用 STRING_AGG 函数
|
4月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
|
4月前
|
存储 Serverless 数据处理
Python - len(string)函数
通过上述介绍和示例,我们可以清楚地看到,在Python中,`len()`函数是处理字符串以及其他可迭代对象长度的重要工具。它简单、易用,但在实际应用中却非常强大,无论是在基础编程还是在复杂的数据处理中,`len()`函数都扮演着不可或缺的角色。
94 10
|
4月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
55 0
|
5月前
|
C++
C++ string中的函数和常用用法
C++ 中string中的函数和常用用法
60 4
|
4月前
|
安全 编译器 C++
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数
|
5月前
|
存储 C++
【C++】string类的使用③(非成员函数重载Non-member function overloads)
这篇文章探讨了C++中`std::string`的`replace`和`swap`函数以及非成员函数重载。`replace`提供了多种方式替换字符串中的部分内容,包括使用字符串、子串、字符、字符数组和填充字符。`swap`函数用于交换两个`string`对象的内容,成员函数版本效率更高。非成员函数重载包括`operator+`实现字符串连接,关系运算符(如`==`, `&lt;`等)用于比较字符串,以及`swap`非成员函数。此外,还介绍了`getline`函数,用于按指定分隔符从输入流中读取字符串。文章强调了非成员函数在特定情况下的作用,并给出了多个示例代码。