c/c++ 计算字符数组/字符串长度

2023-11-02

1.自定义函数求长度
2.使用strlen()函数
3.使用sizeof()操作符
4.使用length()函数
利用自定义函数的方法:

int cont_str(char *s)
{
int i = 0;      
while ( str[i++]= '\0')
;
return i;
}

利用string头文件中的strlen()函数:

strlen(str); //假设str为待求的字符串数组名

使用sizeof()操作符

sizeof(str)/sizeof(str[0]); //假设str为待求的字符串数组名

使用length()函数

char a[10]
std::cin>>a;
length=a.length()

注意:
strlen()函数求出的字符串长度为有效长度,既不包含字符串末尾结束符 ‘\0’;
sizeof()操作符求出的长度包含字符串末尾的结束符 ‘\0’;
length()函数求出的字符串长度不包含字符串末尾结束符’\0’;
当在函数内部使用sizeof()求解由函数的形参传入的字符数组的长度时,得到的结果为指针的长度,既对应变量的字节数,而不是字符串的长度,此处一定要小心。

C/C++的strlen(str)和str.length()和str.size()都可以求字符串长度。
其中str.length()和str.size()是用于求string类对象的成员函数,
strlen(str)是用于求字符数组的长度,其参数是char

这三种函数strlen、length、size函数计算的字符串长度都不算最后的操作符’\0’。
*

strlen函数用之前需要先对字符数组定义或初始化,例如char str[]={“hello world”};或者char str[]={‘h’,‘e’,‘l’,‘l’,‘o’,’ ‘,‘w’,‘o’,‘r’,‘l’,‘d’,’\0’};

getchar()就是从键盘获取字符,直到回车为止。
第一种:strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到’\0’停止。
第二种:sizeof(),求所占总空间的字节数。

strlen函数用法见下链接:
https://blog.csdn.net/u012209626/article/details/47449885
cin.get()函数、cin.getline()函数、getline()函数、gets()函数、getchar()函数用法见下链接:
https://www.cnblogs.com/qiang-wei/p/9332201.html

原文地址:https://www.csdn.net/gather_24/NtTaEgxsOTQtYmxvZwO0O0OO0O0O.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c/c++ 计算字符数组/字符串长度 的相关文章

随机推荐

  • Leetcode刷题01-- 所有蚂蚁掉下来前的最后一刻

    原题 有一块木板 长度为 n 个 单位 一些蚂蚁在木板上移动 每只蚂蚁都以 每秒一个单位 的速度移动 其中 一部分蚂蚁向 左 移动 其他蚂蚁向 右 移动 当两只向 不同 方向移动的蚂蚁在某个点相遇时 它们会同时改变移动方向并继续移动 假设更
  • Xcode 5 出现 unable to create '/Users/XXX/Library/Developer/Xcode....'无权限问题

    打开终端 输入 sudo chmod R 777 Users XXX Library Developer 搞定
  • 你是如何看待“孔乙己的长衫”?

    学历是一个十分有争议的话题 观点不一 这使得这个话题讨论起来令人热血沸腾 就人生而言 学历是否会成为敲门砖或枷锁 可以说是个纯粹的看法和态度问题 首先 我们要看到学历本身 学历是告诉人们你有哪些学科的专业知识和能力 但是这并不代表你一定能够
  • java连接rocksdb_rocksdb编译步骤——Java、Golang、mac

    如果不是必要不建议自己编译rocksdb 编译的过程比较耗时费力 现在已经有很多编译好的文件可供使用 Java org rocksdb rocksdbjni 5 10 3 Go版本 https github com leeyazhou go
  • 使用vcpkg编译、管理C++类库

    为什么使用vcpkg 1 vcpkg提供了一种类似linux编译 安装第三方类库的方式 不需要手动下载源码 编译源码 2 vcpkg自动管理已经安装的类库 使用集成开发环境如visual studio时直接引用对应的头文件就可以的 不需要配
  • React +TS实现拖拽列表

    使用React TS编写逻辑代码 less编写样式代码 不依赖第三方库 开箱即用 最近写的拖拽组件 分享给大家 直接上代码 首先看看如何使用 自己定义的组件需要包裹在DragList Item组件中 import DragList from
  • 遍历磁盘根目录

    for char i A i lt Z i 遍历所有磁盘 char dir 20 i 组成磁盘名称 char path 100 定义文件路径 UINT type GetDriveType dir 获取磁盘类型 if type DRIVE F
  • 网络与信息安全基础知识--网络安全

    说在前面 本系列文章专注于软考备考复习内容梳理 文章内容是对教材中知识点和考点的提炼 备考过程中可以有针对的进行复习 减少阅读量 有的放矢 导航目录 一 网络安全概述 二 网络的信息安全 1 信息的存储安全 2 信息的传输安全 三 防火墙技
  • Mac安装Netcat教程

    Netcat可以用于测试通信连接 Mac安装Netcat方式 打开终端输入 brew install netcat 安装好以后测试 输入 nc 可以看到是这样的 itzhuzhu itzhuzhudeMacBook Pro brew ins
  • 五、【服务器】基本概念-1

    服务器标准 ATCA AdvancedTelecom Computing Architecture 国际标准 ATCA脱胎于在电信 航天 工业控制 医疗器械 智能交通 军事装备等领域应用广泛的新一代主流工业计算技术 CompactPCI标准
  • 网络系统实现技术之IPX与SPX

    IPX SPX Novell NetWare网络 Novell公司为适应网络发展 将主机网络转换为PC网络 开发了Novell NetWare网络系统 该系统中基于客户机 服务器模式 以普通PC机做为客户机 以性能强大的服务器做为服务器 为
  • 什么是算法?

    什么是算法 当人们提到 算法 一词 往往就会把它们当成专属于 人工智能 的范畴 很多专业的计算机人士也是 提起算法就头疼 不知道如何学习算法 慢慢的对算法就会失去兴趣 算法不仅仅是计算机行业特有的 在我们的生活中也处处存在着算法 算法是专注
  • 【积跬步以至千里】Windows无法访问指定设备,路径或文件,您可能没有合适的权限访问

    一 问题描述 今天在使用电脑时突然出现如下状况 然后我打开用户权限发现了原来是权限的问题 我点击编辑 依然不管事 那怎么处理呢 二 解决办法 1 方法一 单独设置 1 在无法打开的文件 文件夹上单击鼠标右键 选择 属性 2 切换到 安全 选
  • __int64、ULONGLONG格式化输出

    Tips 打印日志信息的时候出现的问题 虽然很小 也算提个醒 Code 不考虑溢出的情况 ULONGLONG n1 100 printf d n n1 int64 n2 100 printf d n n2 此处是个坑 printf d d
  • 华为推出手机系统云翻新服务:什么是云翻新?如何使用?

    华为手机系统云翻新是华为推出的一项功能 旨在通过云服务提供系统翻新的服务 它可以帮助用户对手机的系统进行优化和更新 以提高手机的性能和流畅度 具体而言 华为手机系统云翻新功能提供了免费的云空间 用户可以将手机中的系统数据备份到云端 并进行系
  • 一位程序员使用M1 Mac的感受

    作为一个window的java开发者 虽然现在window高配置不卡 但是身边的高级开发者都是使用苹果开发 并且给予高度评价 这里也抱着学习的态度去尝试安利一台MAC作为开发 所以去苹果官网看了一下 但是这次苹果出了一个全新的M1芯片 我在
  • STM32网络通信Web Server中SSI和CGI的应用

    介绍 最近由于项目功能需要 开始研究STM32 WebServer通信以及SSI和CGI应用方法 项目结束后 主要总结浏览器与STM32之间进行通行 STM32作为服务器而浏览器做为客户端进行通行 文件介绍 此部分的代码是根据ST官方的We
  • 免费分享一套 SpringBoot + Vue的排课/选课管理系统,挺漂亮的

    大家好 我是锋哥 看到一个不错的SpringBoot Vue 的排课 选课管理系统 分享下哈 项目介绍 近年来 随着网络学校规模的逐渐增大 人工书写数据已经不能够处理如此庞大的数据 为了更好的适应信息时代的高效性 一个利用计算机来实现学生信
  • Python——requests

    requests是python实现的简单易用的HTTP库 使用起来比urllib简洁很多 因为是第三方库 所以使用前需要cmd安装 pip install requests 安装完成后import一下 正常则说明可以开始使用了 基本用法 r
  • c/c++ 计算字符数组/字符串长度

    1 自定义函数求长度 2 使用strlen 函数 3 使用sizeof 操作符 4 使用length 函数 利用自定义函数的方法 int cont str char s int i 0 while str i 0 return i 利用st