在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. 7.9 skippart.c 程序

    7.9 skippart.c 程序 #include <stdio.h> int main(void) { const float MIN = 0.0f; const float MAX ...

  2. eclipse修改android项目的apk包名类名

    在Google提供的Eclipse集成开发环境adt-bundle下修改名称的总结: 1.      修改工程名(apk名称) 在弹出的对话框中输入新名称 该操作实际上是修改<project&g ...

  3. shell编程变量介绍与表达式详解

    shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell ...

  4. MyBatis注解-动态SQL 一个 SqlProvider的demo

    Provider动态语言注解 MyBatis提供了多个注解如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,这些都是建 ...

  5. 微信小程序报错:id 属性值格式错误。如不能以数字开头。

    出现这个报错时,相信很多人都排除过自己标签上写的id是否有以数字命名的,如果你排除了发现并没有,但是这个报错还是存在,那么我接下来分享的这个情况或者能报到你 这次我也遇到这个报错,最终找出问题所在 这 ...

  6. Oracle数据库中OVER()函数的了解

    1.over函数介绍:      开窗函数,Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行. ...

  7. @Override is not allowed when implementing interface method

    使用idea导入maven项目时 会出现如下报错 @Override从jdk1.5开始出现的,是用来标注方法重写:通常方法重写发生在继承父类,重写父类方法,或者实现接口,实现接口方法: @Overri ...

  8. arcgis10.2 sde配置

    本机配置好oracle11g server 64位+client 32位.

  9. hadoop 二次排序的一些思考

    先说一下mr的二次排序需求: 假如文件有两列分别为name.score,需求是先按照name排序,name相同按照score排序 数据如下: jx 20 gj 30 jx 10 gj 15 输出结果要 ...

  10. pyqt------对话框

    一 .输入文字 from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QInputDialog, QApplication) im ...