常见的字符串类型有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++字符串类型和函数相关推荐

  1. c语言字符串作为函数返回值的类型,返回字符串类型的函数怎么写?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 描述 请判断一个数是不是水仙花数. 其中水仙花数定义各个位数立方和等于它本身的三位数. 输入 有多组测试数据,每组测试数据以包含一个整数n(100< ...

  2. SQL----关于三种其他类型转字符串类型的函数

    SQL中有三种可以将其他类型的数值转化为字符串类型的函数,分别是convert.cast和str.下面就这三种函数的使用方法和注意点(主要是str函数)进行说明. convert 用法: conver ...

  3. python测试字符串类型的函数_python-02 数据类型 字符串str

    字符串str 一.字符串定义 概念:字符串是有序的 不可修改的,元素以引号包围的序列 引号类型:''单引号 ""双引号 " ""三引号 '''三单引号 ...

  4. P34 字符串类型的函数讲解

    2.字符串函数 #2.字符串函数 SELECT ASCII('abc'),CHAR_LENGTH('hello'),CHAR_LENGTH('我们'), LENGTH('hello'),LENGTH( ...

  5. python中input函数的返回是哪种类型_Python3.x中input的变化:input函数默认返回字符串类型...

    背景:学习<Python基础教程第2版>,第10.3章 标准库:一些最爱 时, 运行如下例子: 用户选择投掷的骰子数以及每个骰子具有的面数,随机返回骰子的点数,代码如下: from ran ...

  6. c++语言转换为字符串函数,C++中整型转换为字符串类型

    本文主要介绍C++语言中,整型转换为字符串类型的方法. 1 使用to_string函数 在c++11标准中,我们可以使用to_string函数,将整型转换为字符串类型. 1.1 to_string函数 ...

  7. 字符串函数---其他类型的函数(strstr,strtok,strerror函数和字符分类函数字符转换函数)努力积累才能进大厂拿offer

    作者:旧梦拾遗 专栏:C语言编程----小比特成长日记 每日励志: 不想认命,就去拼命,我始终相信,付出就会有收获,或大或小,或迟或早,始终不会辜负你的努力.有一种落差是,你总是羡慕别人的成功,自己却 ...

  8. PHP源代码分析-字符串搜索系列函数实现详解

    今天和同事在讨论关键字过虑的算法实现,前几天刚看过布隆过滤算法,于是就想起我们公司内部的查找关键字程序,好奇是怎么实现的.于是查找了一下源代码,原来可以简单地用stripos函数查找, stripos ...

  9. Python字符串类型及操作总结

    1.字符串表示 两种类型四种表示 单行-一对单引号或一对双引号 "python" 'python' 多行-一对三单引号或一对三双引号 '''python''' "&quo ...

最新文章

  1. 【C#】using用法
  2. OpenMP入门教程
  3. Python的collections之namedtuple的使用及其优势
  4. 【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud
  5. Android开发笔记(二十九)使用SharedPreferences存取数据
  6. 51nod-1246:罐子和硬币
  7. C++算法学习(力扣:402. 移掉K位数字)
  8. 已解决:home目录下ubuntu文件夹被误删。。。。
  9. Javascript特效:瀑布流
  10. 服务器lsass状态代码c0000005,Windows服务器上lsass.exe进程CPU使用率异常问题排查方法...
  11. 人工智能现状和发展趋势
  12. pdf文件拆分为单个pdf_如何根据文件内容拆分重命名移动一批PDF文件
  13. Linux数据库mariadb管理
  14. molar mass
  15. arcgis lisence manager 无法启动
  16. 机器人专业需要学习那些理论知识
  17. DB2 SQL语句归纳整理(一)
  18. 让小伙伴大呼过瘾的数据可视化作品!
  19. 基于大模型GPT,如何提炼出优质的Prompt
  20. java上传与下载文件_JavaWeb之实现文件上传与下载

热门文章

  1. centos7 安装php7遇到的问题
  2. 52 现在完成时+现在完成进行时
  3. oracle10安装OUI_10037,oracle 10g 客户端安装异常:OUI-10035和OUI-10033异常
  4. 蓝桥杯python求n以内的素数
  5. Arduino板上通过操作端口寄存器来进行控制
  6. 互联网金融支付体系变革趋势
  7. 汇佳学校:体育特长+学科优势 造就“双优”学霸
  8. ubuntu下安装最新版本nodejs和npm
  9. 面试八股文-python
  10. YOLOv1 沉思录