当前位置: 首页 > news >正文

重生之我是一名程序员 35

哈喽啊大家晚上好!今天给大家带来的知识很简单啊,所以今天呢给大家带来的是C语言中的另一个库函数——strlen。

首先,让我先给大家介绍一下它,strlen函数是C语言中的一个字符串处理函数,它用于计算一个字符串的长度,即该字符串包含的字符数。它的作用是扫描字符串中的字符,直到遇到字符串的结束符号'\0'为止,然后返回扫描的字符数,不包括结尾的 '\0'。可以用strlen函数来确定一个字符串的长度,以便分配存储空间或在字符串处理中使用。例如,可以使用strlen函数来确定一个字符串是否为空或超出了所需的长度。其语法为:

size_t strlen(const char *s)

其中,s是要计算长度的字符串,返回值是这个字符串的长度。因为返回值类型是size_t,所以长度可以非常大,可以超过int的最大值。

那么,在日常中strlen函数有什么作用呢?下面我给大家举几个例子:

1. 计算一个字符串的长度,比如输入一个密码,可以使用 strlen 函数计算密码的长度,再根据具体的需求进行密码强度的判断。比如:

#include <stdio.h>
#include <string.h>int main() {char password[100];printf("请输入密码:");scanf("%s", password);int length = strlen(password);printf("密码长度为:%d\n", length);return 0;
}

运行程序后,用户可以输入密码,程序使用 strlen 函数计算密码长度,并输出结果。可以根据实际需求进行密码强度的判断,例如密码长度不少于 8 位,包含数字和字母等要求。
2. 输入一个字符串,可以使用 strlen 函数来判断字符串是否为空。比如:

#include <stdio.h>
#include <string.h>int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);if (strlen(str) == 0) {printf("字符串为空\n");} else {printf("字符串不为空\n");}return 0;
}


3. 对于一个输入的字符串,使用 strlen 函数来限制输入的长度,比如只能输入 10 个字符:

#include <stdio.h>
#include <string.h>int main() {char str[11]; // 定义一个长度为 11 的字符数组,用来存储输入的字符串,包括一个 '\0' 结束符printf("请输入一个不超过 10 个字符的字符串:");fgets(str, sizeof(str), stdin); // 使用 fgets 函数从标准输入中读取最多 sizeof(str) 个字符(包括 '\n'),并存储在 str 变量中str[strcspn(str, "\n")] = '\0'; // 将 str 中的 '\n' 替换为 '\0',以实现去除输入字符串中的换行符if (strlen(str) > 10) { // 如果输入字符串长度超过 10,输出错误提示,否则输出输入的字符串printf("输入的字符串长度超过 10,请重新输入!\n");} else {printf("输入的字符串为:%s\n", str);}return 0;
}


那么今天的知识分享就到此结束啦!感谢大家的支持,明天见!

相关文章:

重生之我是一名程序员 35

哈喽啊大家晚上好&#xff01;今天给大家带来的知识很简单啊&#xff0c;所以今天呢给大家带来的是C语言中的另一个库函数——strlen。 首先&#xff0c;让我先给大家介绍一下它&#xff0c;strlen函数是C语言中的一个字符串处理函数&#xff0c;它用于计算一个字符串的长度&a…...

计算机毕业设计选题推荐-点餐微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

分享禁止Win10更新的两种方法

深恶痛绝 Windows更新简直就是毒瘤&#xff0c;总是在某些不需要的时候提示更新&#xff0c;而且关闭服务后总有办法重启。老是关不掉。 如果每次都是正常更新&#xff0c;好像也没啥所谓&#xff0c;但是总有那么一两次会蓝屏、黑屏、开不了机…… 52出品 下面是吾爱社区找…...

SPASS-回归分析

回归分析概述 确定性关系与非确定性关系 变量与变量之间的关系分为确定性关系和非确定性关系,函数表达确定性关系。研究变量间的非确定性关系,构造变量间经验公式的数理统计方法称为回归分析。 回归分析基本概念 回归分析是指通过提供变量之间的数学表达式来定量描述变量间…...

【使用vscode在线web搭建开发环境--code-server搭建】

官方版本下载 https://github.com/coder/code-server/releases?q4.0.0&expandedtrue使用大于版本3.8.0,因为旧版本有插件市场不能访问的情况版本太高需要更新环境依赖 拉取安装包 []# wget "https://github.com/coder/code-server/releases/download/v4.0.0/code-…...

c++ list容器使用详解

list容器概念 list是一个双向链表容器&#xff0c;可高效地进行插入删除元素。 List 特点&#xff1a; list不可以随机存取元素&#xff0c;所以不支持at.(position)函数与[]操作符。可以对其迭代器执行&#xff0c;但是不能这样操作迭代器&#xff1a;it3使用时包含 #includ…...

【案例】可视化大屏

人狠话不多,直接上效果图 这里放的地图自己去实现吧,如果也想实现3D地球话,等笔者那天有心情写篇文章; 说明:script中methods部分代码是没用,可以直接删掉,根据个人情况去写, 内容:笔者也就对页面布局进行了设计,内容的填充就靠个人了 <template><div :sty…...

js制作动态表单

JS制作动态表单&#xff0c;可以通过以下步骤实现&#xff1a; HTML布局&#xff1a;在HTML中创建一个表单元素&#xff0c;并设置一个ID属性。 <form id"myForm"><label for"name">姓名&#xff1a;</label><input type"text…...

解决Kibana初始化失败报错: Unable to connect to Elasticsearch

现象&#xff1a; 原因&#xff1a; docker run生成容器的时候&#xff0c;指定elastic server时指向了localhost 为什么不能是localhost, 因为这个localhost指向的是容器本身的网络&#xff0c;而elastic用的是物理网络&#xff0c;两个网络是隔离的&#xff0c;所以如果kiba…...

流媒体服务器

市面上优秀的流媒体服务器解决方案有很多&#xff0c;比如SRS&#xff0c;Red5&#xff0c;EasyDarwin&#xff0c;nginx-rtmp&#xff0c;live555&#xff0c;mediasoup等等。 这些服务器框架各有优缺点&#xff0c;没有一款完美的流媒体服务器解决方案&#xff0c;在流媒体选…...

Java GUI小程序之图片浏览器

以下是一个简单的图片浏览器示例代码&#xff0c;它包含了图片放大缩小、拖拽、上一张/下一张查看等功能。你可以根据它进行扩展&#xff0c;提高用户体验。 import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.e…...

Kafka-4.1-工作原理综述

1 Kafka工作原理详解 1.1 工作流程 Kafka集群将 Record 流存储在称为 Topic 的类中&#xff0c;每个记录由⼀个键、⼀个值和⼀个时间戳组成。 Kafka 中消息是以 Topic 进⾏分类的&#xff0c;⽣产者⽣产消息&#xff0c;消费者消费消息&#xff0c;⾯向的都是同⼀个Topic。Topi…...

Linux八股文

Linux八股文 第一章 Linux简介 Linux是一种多用户、多任务&#xff0c;支持多线程和多CPU的操作系统&#xff0c;具有免费、稳定、高效的优点&#xff0c;一般运行在大型服务器上。 1.1 常用目录 目录说明/根目录&#xff0c;有且仅有一个&#xff0c;一般只存放目录/home家目…...

SPASS-偏相关分析

基本概念 偏相关分析的任务就是在研究两个变量之间的线性相关关系时控制可能对其产生影响的变量,这种相关系数称为偏相关系数。偏相关系数的数值和简单相关系数的数值常常是不同的,在计算简单相关系数时,所有其他自变量不予考虑。 统计原理 控制一个变量和控制两个变量的偏…...

第二证券:今日投资前瞻:小米汽车引关注 全球风光有望持续高速发展

昨日&#xff0c;两市股指盘中轰动上扬&#xff0c;深成指、创业板指一度涨超1%。到收盘&#xff0c;沪指涨0.55%报3072.83点&#xff0c;深成指涨0.72%报10077.96点&#xff0c;创业板指涨0.53%报2015.36点&#xff0c;北证50指数涨2.64%&#xff1b;两市算计成交9900亿元&…...

Docker中的RabbitMQ已经启动运行,但是管理界面打不开

文章目录 前言一、解决方法方法一方法二 总结 前言 肯定有好多小伙伴在学习RabbitMQ的过程中&#xff0c;发现镜像运行&#xff0c;但是我的管理界面怎么进不去&#xff0c;或者说我第一天可以进去&#xff0c;怎么第二天进不去了&#xff0c;为什么每次重新打开虚拟机都进不去…...

自动化网络图软件

由于 IT 系统的发展、最近向混合劳动力的转变、不断变化的客户需求以及其他原因&#xff0c;网络监控变得更加复杂。IT 管理员需要毫不费力地可视化整个网络基础设施&#xff0c;通过获得对网络的可见性&#xff0c;可以轻松发现模式、主动排除故障、确保关键设备可用性等。 为…...

如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale

MyScale 是一款完全托管于亚马逊云科技&#xff0c;支持 SQL 的高效向量数据库。MyScale 的优势在于&#xff0c;它在提供与专用向量数据库相匹敌甚至优于的性能的同时&#xff0c;还支持完整的 SQL 语法。在这篇文章中&#xff0c;我们将阐述 MyScale 是如何借助亚马逊云科技的…...

《轻松入门!快速安装PyCharm,打造高效Python编程环境》

「Pycharm安装包和相关插件&#xff08;Windows 64位&#xff09;」https://www.aliyundrive.com/s/jByv6vjShVz 提取码: 1234 视频教程&#xff1a;https://www.douyin.com/video/7303106933521763596?previous_pageapp_code_link 第一步&#xff1a;找到一起下载的Pycharm安…...

Golang环境搭建Win10(简洁版)

Golang环境搭建Win10 Golang环境搭建(Win10)一、前言二、Golang下载三、配置环境变量3.1、配置GOROOT3.2、配置GOPATH3.3、配置GOPROXY代理 Golang环境搭建(Win10) 一、前言 Go&#xff08;又称 Golang&#xff09;是 Google 的 Robert Griesemer&#xff0c;Rob Pike 及 Ken…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...