C/C++字符串使用整理
在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++字符串使用整理的更多相关文章
- Lua字符串库(整理)
Lua字符串库小集 1. 基础字符串函数: 字符串库中有一些函数非常简单,如: 1). string.len(s) 返回字符串s的长度: 2). string.rep(s,n) 返回 ...
- Char型和string型字符串比较整理
1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout ...
- vim 字符串替换整理
公司项目测试,要在vi编辑其中进行多路径修改,这时候用到了字符串替换的知识,在这里我自己整理了一下. 一.基本内容替换,无特殊符号 :s/old/new/ 替换当前行第一个 old 为 new ...
- C和C++字符串处理整理
在刷leetcode题目的过程中,发现自己对于c和c++字符串的处理并不是很拿手,处理起来比较费劲,而且,算法题似乎很中意字符串的处理,有很多题目都涉及到它.字符串处理比较基础,但是很重要,因此,整理 ...
- [IOS 开发] NSDateFormatter的格式字符串 -- 《整理的笔记》
在ios开发中, OBjective-C中的NSDate是一个挺讨厌的类型, 自己找不到转换成字符串的类型,还得带一个NSDateFormatter的类型. 官方文档上对NSDateFormatter ...
- 工作中用到的oracle字符串分割整理
oracle部分: 定义类型(用于字符串分割): create or replace TYPE "STR_SPLIT" IS TABLE OF VARCHAR2 (4000); 字 ...
- ACM 字符串 题目整理
AC自动机 UVa 11468 Substring AC自动机+概率DP. 注意要补全不存在的边. 为什么要补全不存在的边呢?补全以后可以直接找到状态的转移,即从所有子节点就可以实现所有状态转移. ...
- PHP 常用字符串函数整理
PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库. 1.查找字符位置函数 strpos($str ...
- 306573704 Char型和string型字符串比较整理(转)
1.赋值 char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout ...
随机推荐
- Linux系统编程——Daemon进程
目录 Daemon进程介绍 前提知识 Daemon进程的编程规则 Daemon进程介绍 Daemon运行在后台也称作"后台服务进程". 它是没有控制终端与之相连的进程.它独立与控制 ...
- socket通信中select函数的使用和解释
select函数的作用: select()在SOCKET编程中还是比较重要的,可是对于初学SOCKET的人来说都不太爱用select()写程序,他们只是习惯写诸如 conncet().accept() ...
- 决策树(decision tree)
决策树是一种常见的机器学习模型.形象地说,决策树对应着我们直观上做决策的过程:经由一系列判断,得到最终决策.由此,我们引出决策树模型. 一.决策树的基本流程 决策树的跟节点包含全部样例,叶节点则对应决 ...
- vue-cli · Failed to download repo vuejs-templates/webpack: connect ETIMEDOUT 13.229.188.59:443
初始化vue项目 vue init webpack vue-demo 之后 一直报vue-cli · Failed to download repo vuejs-templates/webpack: ...
- 【转】sqlserver使用sql导出索引
转自:http://blog.itpub.net/16436858/viewspace-609341/ BEGIN WITH tx AS ( SELECT a.object_id ,b.name AS ...
- 高性能 TCP & HTTP 通信框架 HP-Socket v4.3.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 2018-2019-2 20175328李欣颖实验二《Java面向对象程序设计》实验报告
2018-2019-2 20175328李欣颖实验二<Java面向对象程序设计>实验报告 面向对象程序设计-1 用程序解决问题时,要会写三种码: 1.伪代码 此处百分制转五分制: 如果成绩 ...
- 基础Gan代码解析
initializer总结: #f.constant_initializer(value) 将变量初始化为给定的常量,初始化一切所提供的值. #tf.random_normal_initializer ...
- redis 安装启动
1.解压 tar -zxvf redis文件 2. make 3. cp redis-server redis-cli /usr/local/redis cp redis.conf /usr/loca ...
- P1461 海明码 Hamming Codes
题目描述 给出 N,B 和 D,要求找出 N 个由0或1组成的编码(1 <= N <= 64),每个编码有 B 位(1 <= B <= 8),使得两两编码之间至少有 D 个单位 ...