在C语言中,字符串有多种操作与处理方法。话不多说,下面就整理一下C语言中字符串的使用整理。

1.头文件

字符串的头文件:

#include<cstring>

2.输入

通常,字符串有多种输入方式。在这里,引用另外一个很有用的博客供大家参考——https://blog.csdn.net/czh1075208140/article/details/79698441。

3.字符串处理函数

(1)求字符串长度函数strlen(字符数组)

strlen是英文STRing LENgth的缩写,该函数的实参可以是字符数组名,也可以是字符串。其功能是求字符串的长度,即字符串中包含的有效字符的个数(不包括字符'\0')。

(2)字符串复制函数strcpy(字符数组1,字符数组2)

strcpy是英文STRing CoPY的缩写,该函数的功能是将字符数组2中的字符串复制到字符数组1中去。

事实上,strcpy也可以用自定义的方法,代码如下:

void strcpy(char s1[], char s2[])
{
int i=;
while(s2[i]!='\0')
s1[i]=s2[i++];
s1[i]='\0';
}

(3)字符串连接函数strcat(字符数组1,字符数组2)

strcat是英文STRing conCATenate的缩写,该函数的功能是把字符数组2中的字符串连接到字符数组1中的字符串的后面,对字符数组2中的内容没有影响。

(4)字符串比较函数strcmp(字符数组1,字符数组2)

strcmp是英文STRing CoMPare的缩写,该函数的两个实参可以是字符数组名,也可以是字符串。其功能是用来比较两个字符串是否相等。从两个字符串的第一个字符开始自左至右逐个字符进行比较,这种比较是按字符的ASCII码值的大小进行的,到出现两个不同的字符或遇到字符串的结束标志'\0'为止。如果两个字符串中的字符均相同,则两个字符串相等,函数返回值为0;当两个字符串不同时,则以自左至右出现的第一个不同字符的比较结果作为两个字符串的比较结果。如果第一个字符串大于第二个字符串,则返回值为1.如果第一个字符串小于第二个字符串,则返回值为-1。

4.应用举例

找出三个字符串中最小者。

#include<iostream>
using namespace std;
#include<cstring>
int main()
{
char string[];
char str[][];
cout<<"请输入三个字符串:\n";
for(int i=; i<; i++)
cin.getline(str[i], );
if (strcmp(str[], str[])<)
strcpy(string, str[]);
else
strcpy(string, str[]);
if(strcmp(str[], string)<)
strcpy(string, str[]);
cout<<"最小的字符串为:"<<string<<endl;
return ;
}

运行结果如下:

请输入三个字符串:
China<Enter>
America<Enter>
Japan<Enter>
最小的字符串为:America

以上就是本次分享的C语言字符串的使用整理。

C/C++字符串使用整理的更多相关文章

  1. Lua字符串库(整理)

    Lua字符串库小集 1. 基础字符串函数:    字符串库中有一些函数非常简单,如:    1). string.len(s) 返回字符串s的长度:    2). string.rep(s,n) 返回 ...

  2. Char型和string型字符串比较整理

    1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout ...

  3. vim 字符串替换整理

    公司项目测试,要在vi编辑其中进行多路径修改,这时候用到了字符串替换的知识,在这里我自己整理了一下. 一.基本内容替换,无特殊符号 :s/old/new/  替换当前行第一个 old 为 new   ...

  4. C和C++字符串处理整理

    在刷leetcode题目的过程中,发现自己对于c和c++字符串的处理并不是很拿手,处理起来比较费劲,而且,算法题似乎很中意字符串的处理,有很多题目都涉及到它.字符串处理比较基础,但是很重要,因此,整理 ...

  5. [IOS 开发] NSDateFormatter的格式字符串 -- 《整理的笔记》

    在ios开发中, OBjective-C中的NSDate是一个挺讨厌的类型, 自己找不到转换成字符串的类型,还得带一个NSDateFormatter的类型. 官方文档上对NSDateFormatter ...

  6. 工作中用到的oracle字符串分割整理

    oracle部分: 定义类型(用于字符串分割): create or replace TYPE "STR_SPLIT" IS TABLE OF VARCHAR2 (4000); 字 ...

  7. ACM 字符串 题目整理

    AC自动机 UVa 11468  Substring AC自动机+概率DP. 注意要补全不存在的边. 为什么要补全不存在的边呢?补全以后可以直接找到状态的转移,即从所有子节点就可以实现所有状态转移. ...

  8. PHP 常用字符串函数整理

    PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库. 1.查找字符位置函数 strpos($str ...

  9. 306573704 Char型和string型字符串比较整理(转)

    1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout ...

随机推荐

  1. [UE4]让箭头保持水平的第二种方法:Combinrotators、Delta(Rotator)

    一.手柄在世界坐标系中有一个绝对朝向,我们可以知道箭头相对于手柄的朝向,相对于手柄的旋转角度. 可以通过手柄绝对朝向.箭头的相对于手柄的朝向计算得到箭头的绝对朝向. 在得到箭头的相对于手柄的角度,在这 ...

  2. 获取物理内存total值和used值

    1.使用 free -m 查看 2.物理内存total值 # free -m | grep Mem | awk '{print $2}' 3.物理内存used值 # free -m | grep Me ...

  3. qt button clicked(bool) always false

    今天用 qt 中的按键的时候,希望按键有两种状态,通过 clicked(bool) 发送信号给槽,结果一直发的是 false,不能为 true,后来终于找到问题了,有两种解决方法. 在 button ...

  4. iis7.5 配置伪静态

    1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式: 2)部署好站点,并将此站点的应用程序池设置为nettest; ...

  5. zk hdfs hadoop yarn hive 学习笔记

    如图

  6. JAVA学习记录(二)————JAVA中的IO

    Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. 数据流是一串连续不断的数据的集合,就象水 ...

  7. python远程连接windows

    远程连接windows系统     https://blog.51cto.com/ckl893/2145809 import winrm win2008 = winrm.Session('http:/ ...

  8. Burp Suite设置代理

    一.确认代理信息 打开Burp Suite,查看proxy->options,看到Interface一栏为127.0.0.1:8080. 二.在Firefox中设置代理服务器 可以下载工具Fox ...

  9. mongodb集群部署

    一.安装Mongodb(Tarballs) 1.检查依赖文件包: yum install libcurl openssl 2.解压文件到/usr/local/ tar -zxvf mongodb-li ...

  10. Java学习之代码块(静态,构造代码块,构造方法)执行顺序

    静态代码块   static{ 代码 } 随着类的加载而加载,随类的消失而消失,存在于类中,方法外,最先执行,且只加载1次,可用来加载驱动及初始化对象属性. 构造代码块   {   } 也存在于类中, ...