C语言多种获取字符串长度的方法
作者:小果沐雨 发布时间:2021-07-01 16:30:29
标签:C语言,字符串,长度
在C语言中,想要获取字符串长度可以有很多方法,下面分别介绍
一、使用sizeof()运算符
在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度。
基本用法:
int i=10;
sizeof(i);//表达式
char str[]="hello world";
sizeof(str);
sizeof(double);//数据类型
在使用sizeof()求字符串长度时,会将 ‘\0' 也计算到字符串长度中。例如"abcd"用sizeof()求长度会计算得到5。
注意:char str[100]=""; sizeof(str)的值是100。
二、使用strlen函数
在string.h中提供了计算字符串长度的函数。
语法:
size_t strlen(const char *str);
在使用strlen函数时,需要添加string.h头文件,该函数会将字符串长度计算出,不包含 ‘\0'。
三、编写函数
如果不想使用sizeof()和strlen(),可以利用循环来判断字符串的长度。
int get_length(char str[])
{
char *p = str;
int count = 0;
while (*p++ != '\0')
{
count++;
}
return count;
}
该函数通过传入一个字符串,返回一个长度数值。
测试代码:
#include <stdio.h>
#include <string.h>
int get_length(char str[])
{
char *p = str;
int count = 0;
while (*p++ != '\0')
{
count++;
}
return count;
}
int main()
{
char str[] = "abcd";
int count1 = sizeof(str);
int count2 = strlen(str);
int count3 = get_length(str);
printf("use sizeof the length is %d\n", count1);
printf("use strlen the length is %d\n", count2);
printf("use get_length the length is %d\n", count3);
return 0;
}
结果:
到此这篇关于C语言多种获取字符串长度的方法的文章就介绍到这了,更多相关C语言获取字符串长度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://blog.csdn.net/st66688/article/details/108356361


猜你喜欢
- 1.@GrpcServise的作用和优势在没有使用@GrpcServise注解编写服务端时,我们通常需要自定义Server以及端口,包括st
- 一、首先我们先大致了解一下什么是多线程。(书上的解释)程序是一段静态的代码,它是应用软件的蓝本。进程是程序的一次动态执行过程,对
- 一. 先来一段代码我们先上一段代码:String str1 = new StringBuilder("你好").appe
- 一、参数校验springboot 使用校验框架validation校验方法的入参SpringBoot的Web组件内部集成了hibernate
- 前言在实际项目开发中,会碰到这样的问题,数据库表结构设计好了,可实体类还没相应地弄出来。实体类的属性命名方法一般是驼峰法,而数据库中的表字段
- 本文介绍了Android中js和原生交互的示例代码,分享给大家,具体如下:加载webview的类public class MainActiv
- 本文实例讲述了Android使用WebView播放flash及判断是否安装flash插件的方法。分享给大家供大家参考。具体实现方法如下:一、
- 一、背景上一篇通过Java自带的JConsole来获取zookeeper状态。主要有几个不方便的地方,zk集群一般会部署3或者5台,在多个J
- 一、什么是Memcached?Memcached是danga.com开发的分布式内存对象缓存系统,所谓分布式,意味着它不是本地的,而是基于网
- IDEA service层跳转实现类的快捷图标消失了,但别人IDEA同样的代码可以正常看到跳转图标。。(暗示:这只是你的IDEA 编译器的b
- 1. Consul 简介Consul是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服 务注册与
- 1. Java中程序的逻辑控制语句1.1顺序结构顺序结构比较简单,按照代码书写的顺序一行一行执行1.2分支结构1.2.1 switch语句这
- ClassLoader概念我们知道,Java源文件(.java)经过编译器编译之后,会转换成Java字节码(.class),然而程序是如何加
- 写在前面:spring 应该对于每个从事java开发的大兄弟们来说应该都不陌生的,作为一个从业两年多的小开发仔,个人觉得,每天都在面对spr
- Servlet注解之@WebInitParam多个InitParam使用百度了半天也没找到。。。。使用@WebInitParam配置多个In
- 一、总体概述官方文档:https://docs.devexpress.com/WindowsForms/8117/controls-and-
- 绝大部分知识与实例来自O'REILLY的《Java网络编程》(Java Network Programming,Fourth Edi
- 将此实例的子字符串中所有指定字符的匹配项替换为其他指定字符。 命名空间:System.Text 程序集:mscorl
- public class PullToLoadListView extends ListView implements OnScrollLi
- springboot service内组件加载顺序先加载自身构造器,所以在构造器中初始化时若使用需要注入的(即@Autowired注解的)组