c++字符串类型和函数
常见的字符串类型有char。char是一个基本的数据类型,不需额外加头文件。不过如果要输入或输出的,应加上<stdio.h>或<cstdio>。当然,用万能头文件<bits/stdc++.h>就不用上面两个了。
#include <stdio.h>
//#include <cstdio>
//#include <bits/stdc++.h> 三选一
将char类型输入输出可以用到如下的方式:
#include <bits/stdc++.h>
using namespace std;
int main(){char s[30]; //char s;cin >> s; cout << s;s = getchar(); //只能输入一个字符,包括空格和换行 putchar(s); //注意,putchar()后面会自动输出一行空格scanf("%s", s); printf("%s", s);gets(s); //该方法已被淘汰fgets(s, 30, stdin);cin.getline(s, 30);
}
除了char,我们也可使用string。string的头文件为<string>:
#include <string>
//#include <bits/stdc++.h> 万能头文件也可
将string类型输入输出可以用到如下的方式:
#include <bits/stdc++.h>
using namespace std;
int main(){string s;cin >> s;getline(cin,s);scanf("%s",&s[0]);
}
字符串的便利
1,用strlen()来得知字符串长度,用for循环就可便利
#include <bits/stdc++.h>
using namespace std;
int main(){char a[50];cin.getline(a,50);int len = strlen(a);for(int i = 0;i < len; i++)a[i] = 'T';
}
2,用字符串最后字符就是结束特性,同样用for循环来便利
#include <bits/stdc++.h>
using namespace std;
int main(){char a[50];cin.getline(a,50);for(int i = 0; a[i]; i++){a[i] = 'T';}
}
最后,就是小编为大家找到最完整的字符类型常用函数。
#include <cctype>
isdigit(c): 判断字符 c 是否是数字;
isalpha(c): 判断字符 c 是否是英文字母;
isalnum(c): 判断字符 c 是否是英文字母或数字;
islower(c): 判断字符 c 是否是小写字母;
isupper(c): 判断字符 c 是否是大写字母;
tolower(c): 返回字符 c 对应的小写字母;若 c 不是字母,返回 c 本身;
toupper(c): 返回字符 c 对应的大写字母;若 c 不是字母,返回 c 本身。
#include <cstring>
strlen(s):求 s 的长度;
strcpy(s, "hello"):将 "hello" 拷贝到 s 中;
strcat(s, "hello"):将 "hello" 添加到 s 的末尾;
strcmp(s, "hello"):比较 s 和 "hello" 的字典序,如果 s 的字典序在 "hello" 前,返回值小于 0;如果在 "hello" 后,返回值大于 0;如果 s 就是 "hello",返回值等于 0;
strncmp(s, "hello", n): 比较 s 和 "hello" 的前 n 个字符。
strcasecmp(s, "hello"):是 strcmp 的忽略大小写的版本。
strchr(s, ' '):找到 s 位置开始后第一次出现空格的地址。
strncpy(s1, s, len):将 s 开始的连续 len 个字符复制到 s1。
strtok(s, ","):将字符串s开头第一个","前的部分拷贝出来,并返回该子串拷贝的首地址。
strstr(s1, s2): 若 s2 包含于 s1 中,则返回其在 s1 中的首地址,否则返回 NULL
#include <string>
s.size():求 s 的长度;也可以写作 s.length()
s = "hello":将 "hello" 拷贝到 s 中;
s += "hello":将 "hello" 添加到 s 的末尾;
s < "hello":比较 s 和 "hello" 的字典序,s 的字典序是否在 "hello" 前;
s > "hello":比较 s 和 "hello" 的字典序,s 的字典序是否在 "hello" 后;
s == "hello": 比较 s 和 "hello" 的字典序,s 是否与 "hello" 相等;
s.find(t):在字符串 s 中查找子串 t,如果子串 t 出现,则返回 t 第一次出现的位置(从 0 开始),否则返回 -1;(需要注意的是:返回的变量是 unsigned 类型,需要转成 int 才能得到 -1)
s.find(t, x):在 s 的第 x 位及之后查找 t,返回值同 s.find(t);
s.erase(x, y):删除 s 的第 x 位及之后的 y 个字符;
s.substr(x, len):生成字符串 s 中从下标 x 开始的长为 len 的子串。
s.replace(x, len, t):将 s 的第 x 位及之后的 len 位替换为字符串 t,下标从 0 开始;注意:x ~ x+len-1 一定要是合法的下标!
s.insert(x, t):在 s 的第 x 位上插入字符串 t,下标从 0 开始;注意 x 一定要在合法范围内!
s.append(t):在字符串 s 后面加上一个字符串 t;
s.begin():返回 s 的首地址,即 &s[0] 或 s;
s.end():返回 s 最后结束符的地址;
小知识:EOF的字符输入为键盘里按住ctrl+Z。
以上如有侵权,请联系,将删除侵权部分。
c++字符串类型和函数相关推荐
- c语言字符串作为函数返回值的类型,返回字符串类型的函数怎么写?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 描述 请判断一个数是不是水仙花数. 其中水仙花数定义各个位数立方和等于它本身的三位数. 输入 有多组测试数据,每组测试数据以包含一个整数n(100< ...
- SQL----关于三种其他类型转字符串类型的函数
SQL中有三种可以将其他类型的数值转化为字符串类型的函数,分别是convert.cast和str.下面就这三种函数的使用方法和注意点(主要是str函数)进行说明. convert 用法: conver ...
- python测试字符串类型的函数_python-02 数据类型 字符串str
字符串str 一.字符串定义 概念:字符串是有序的 不可修改的,元素以引号包围的序列 引号类型:''单引号 ""双引号 " ""三引号 '''三单引号 ...
- P34 字符串类型的函数讲解
2.字符串函数 #2.字符串函数 SELECT ASCII('abc'),CHAR_LENGTH('hello'),CHAR_LENGTH('我们'), LENGTH('hello'),LENGTH( ...
- python中input函数的返回是哪种类型_Python3.x中input的变化:input函数默认返回字符串类型...
背景:学习<Python基础教程第2版>,第10.3章 标准库:一些最爱 时, 运行如下例子: 用户选择投掷的骰子数以及每个骰子具有的面数,随机返回骰子的点数,代码如下: from ran ...
- c++语言转换为字符串函数,C++中整型转换为字符串类型
本文主要介绍C++语言中,整型转换为字符串类型的方法. 1 使用to_string函数 在c++11标准中,我们可以使用to_string函数,将整型转换为字符串类型. 1.1 to_string函数 ...
- 字符串函数---其他类型的函数(strstr,strtok,strerror函数和字符分类函数字符转换函数)努力积累才能进大厂拿offer
作者:旧梦拾遗 专栏:C语言编程----小比特成长日记 每日励志: 不想认命,就去拼命,我始终相信,付出就会有收获,或大或小,或迟或早,始终不会辜负你的努力.有一种落差是,你总是羡慕别人的成功,自己却 ...
- PHP源代码分析-字符串搜索系列函数实现详解
今天和同事在讨论关键字过虑的算法实现,前几天刚看过布隆过滤算法,于是就想起我们公司内部的查找关键字程序,好奇是怎么实现的.于是查找了一下源代码,原来可以简单地用stripos函数查找, stripos ...
- Python字符串类型及操作总结
1.字符串表示 两种类型四种表示 单行-一对单引号或一对双引号 "python" 'python' 多行-一对三单引号或一对三双引号 '''python''' "&quo ...
最新文章
- 【C#】using用法
- OpenMP入门教程
- Python的collections之namedtuple的使用及其优势
- 【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud
- Android开发笔记(二十九)使用SharedPreferences存取数据
- 51nod-1246:罐子和硬币
- C++算法学习(力扣:402. 移掉K位数字)
- 已解决:home目录下ubuntu文件夹被误删。。。。
- Javascript特效:瀑布流
- 服务器lsass状态代码c0000005,Windows服务器上lsass.exe进程CPU使用率异常问题排查方法...
- 人工智能现状和发展趋势
- pdf文件拆分为单个pdf_如何根据文件内容拆分重命名移动一批PDF文件
- Linux数据库mariadb管理
- molar mass
- arcgis lisence manager 无法启动
- 机器人专业需要学习那些理论知识
- DB2 SQL语句归纳整理(一)
- 让小伙伴大呼过瘾的数据可视化作品!
- 基于大模型GPT,如何提炼出优质的Prompt
- java上传与下载文件_JavaWeb之实现文件上传与下载