C语言基础 strlen 函数

目录
  • 一.strlen 函数简介
  • 二.strlen 函数实战

一.strlen 函数简介

在C 语言中,char 字符串也是一种非常重要的数据类型,我们可以使用 strlen 函数获取字符串长度;

字符串: 一般用一对双引号" "括起的一串字符来表示字符串常量,字符串默认以转义字符 '\0' 结尾,字符串常量是不可被修改的;

strlen 函数 会扫描整个字符串,直到碰到第一个字符串结束符 '\0'为止,然后返回计数器值(长度不包含 '\0');

/*
*描述:
*   [in] s:字符串
*
*返回值:返回字符串s的长度,注意不包括 \0
*/
int strlen(char *s);

注意: strlen 函数返回的长度是不包括 '\0',而 sizeof 函数返回的长度包括'\0',所以在获取字符串长度的时候, strlen 函数返回值要比 sizeof 函数少一个字节;

二.strlen 函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 strlen 函数
//@Time:2021/06/02 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/

#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
void main()
{
    char* p = "www.codersrc.com";
    printf("字符串:%s   长度:%d\n", p,strlen(p));
    char* p1 = "www";
    printf("字符串:%s   长度:%d\n", p1, strlen(p1));
    char* p2 = "0123456789";
    printf("字符串:%s   长度:%d\n", p2, strlen(p2));
    char* p3 = "01234\0 56789";
    printf("字符串:%s   长度:%d\n", p3, strlen(p2));
    system("pause");
}

输出:

字符串:www.codersrc.com   长度:16
字符串:www   长度:3
字符串:0123456789   长度:10
字符串:01234   长度:5
请按任意键继续. . .

注意最后一行代码,strlen 函数获取到的字符串长度并不是 10strlen 函数获取字符串长度时到 '\0'就结束了!

到此这篇关于C语言基础 strlen 函数的文章就介绍到这了,更多相关C语言strlen 函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C语言strcpy库函数详解

    目录 C语言strcpy库函数的讲解 附1:MSDN关于strcpy库函数的简介 思路: 总结 C语言strcpy库函数的讲解 附1:MSDN关于strcpy库函数的简介 思路: 1.从上面的MSDN关于strcpy库函数的简介中,我们可以知道,传进函数的第一个参数是目标数组,也就是用来接收被拷贝的字符串,第二个参数是源头数组,也就是将这个参数的字符串拷贝到目标数组里面去.(一定要注意目标数组的空间大小一定要比源头数组的空间大小大,不然即使拷贝成功了也会报错!!!) 2.在我们自我实现strcp

  • C语言 不使用strcat函数实现连接两个字符串功能代码

    字符串连接函数:  字符串连接就是将一个字符串连接到另一个字符串的末尾,使其组合成一个新的字符串,在字符串处理函数中,strcat  函数具有字符串连接功能.下面是用C语言实现不使用是strcat 函数实现连接两个字符串的功能. 源代码: #include<stdio.h> void constring(char s[],char t[],char q[]); //函数声明 int main(void) { char s[100]; char q[100]; char t[200]; prin

  • 一起来了解c语言的str函数

    目录 strlen: strcmp: strcpy: strcat: strstr: atoi: 总结 strlen: 用于求字符串长度,从首字符开始,到'\0'结束,'\0'不计入总长度. 函数实现: size_t my_strlen(const char* ptr) { assert(ptr); const char* ptx = ptr; while (*(++ptx)); return (size_t)(ptx - ptr); } strcmp: 用于比较两个字符串大小,注意大小并不是指

  • C语言之strtol函数用法详解

    strtol 函数用法 strtol是一个C语言函数,作用就是将一个字符串转换为长整型long,其函数原型为: long int strtol (const char* str, char** endptr, int base); 下面我们来看下每个参数的意义: str是要转换的字符 enptr是指向第一个不可转换的字符位置的指针 base的基数,表示转换成为几进制的数 两点注意: 当 base 的值为 0 时,默认采用 10 进制转换,但如果遇到 '0x' / '0X' 前置字符则会使用 16

  • C语言strtod()函数案例详解

    前言 网上有很多关于strtod()函数的文章,不过大部分都是用strtod()函数转换一个字符 char *str = "111.11"; char *target; double ret; ret = strtod(str, &target); 很少有转换字符串的这样的用法 char *p = "111.11 -2.22 Nan nan(2) inF 0X1.BC70A3D70A3D7P+6 1.18973e+4932zzz"; 本文主要参考strtod

  • C语言中strlen() strcpy() strcat() strcmp()函数的实现方法

    strlen函数原型:unsigned int strlen(const char *);返回的是字符串中第一个\0之前的字符个数. 1.strcat函数原型char* strcat(char* dest,const char* src); 进行字符串的拼接,将第二个字符串连接到第一个字符串中第一个出现\0开始的地方.返回的是拼接后字符的首地址.并不检查第一个数组的大小是否可以容纳第二个字符串.如果第一个数组的已分配的内存不够容纳第二个字符串,则多出来的字符将会溢出到相邻的内存单元. 2.str

  • C语言基础 strlen 函数

    目录 一.strlen 函数简介 二.strlen 函数实战 一.strlen 函数简介 在C 语言中,char 字符串也是一种非常重要的数据类型,我们可以使用 strlen 函数获取字符串长度: 字符串: 一般用一对双引号" "括起的一串字符来表示字符串常量,字符串默认以转义字符 '\0' 结尾,字符串常量是不可被修改的: strlen 函数 会扫描整个字符串,直到碰到第一个字符串结束符 '\0'为止,然后返回计数器值(长度不包含 '\0'): /* *描述: * [in] s:字符

  • C语言编程之三个方法实现strlen函数

    strlen()函数是来源于库函数<string.h> 是用于计算字符串的长度, 且字符串需要以'\0'结尾 strlen()会计算'\0'前的字符个数. 根据MSDN的描述 size_t strlen(const char* string); size_t==unsigned int; 返回-无符号整型. 现在提供三种方法实现strlen() 一.计数器法 我们是计算字符个数,可以设置一个变量,每找到一个字符,计数器就加一. int my_strlen(const char* arr)//计

  • Go语言基础函数基本用法及示例详解

    目录 概述 语法 函数定义 一.函数参数 无参数无返回 有参数有返回 函数值传递 函数引用传递 可变参数列表 无默认参数 函数作为参数 二.返回值 多个返回值 跳过返回值 匿名函数 匿名函数可以赋值给一个变量 为函数类型添加方法 总结 示例 概述 函数是基本的代码块,用于执行一个任务 语法 函数定义 func 函数名称( 参数列表] ) (返回值列表]){ 执行语句 } 一.函数参数 无参数无返回 func add() 有参数有返回 func add(a, b int) int 函数值传递 fu

  • C语言 模拟实现strlen函数详解

    目录 前言 一.strlen函数的介绍 1.strlen函数的声明 2.strlen函数的简单运用 3.注意事项 二.三种实现strlen函数的方法 1.计数器的方法 2.递归方法 3.指针-指针的方法 前言 用C语言模拟实现strlen函数,我这里有三种方法,快来看看跟你用的方法是否是一样. 一.strlen函数的介绍 1.strlen函数的声明 size_t strlen ( const char * str ): 这里函数的返回值为无符号整形(size_t),传入的是一个常量char*类型

  • C语言strlen函数实现读取字符串长度详解

    目录 前言 1.函数strlen 2.使用指针 3.指针改进 4.使用递归 5.my_strlen函数的参数改进—常量指针 总结 前言 读取字符串的长度,使用函数 strlen.这里我们写一个函数,来读取字符串的长度,本文内容主要包括: 使用strlen 使用指针:是常规的方法,但是要创建变量 指针改进:不需要创建变量,要求高,不易掌握 使用递归:不需要创建变量,要求高,不易掌握 介绍常量指针—— const char* str 1.函数strlen int main() { char arr[

  • C语言基础解析之分支与循环语句

    目录 - if语句:if(表达式) 悬空else问题 - switch语句 要注意的细节 switch中的的default子句: - while循环语法结构 - for循环语法结构 - do while循环 循环练习题 - 题目一(阶乘) - 题目二(阶乘和) - 题目三(二分查找) - 题目四(两边往中间渐变) - 题目五(密码登录) - 题目六(猜数字游戏) - goto语句 - getchar与putchar用法 - if语句:if(表达式) // 括号里面放一个表达式 ​//表达式的结果

  • C语言基础知识分享续篇

    目录 写在前面 数组 数组使用 函数 字符串 strlen && sizeof sizeof strlen 转义字符 操作符 选择语句 if else switch 循环语句 for while do while 跳出语句 contine break 指针 自定义类型 struct 写在前面 好了,现在我们开始C语言的第二个部分.今天我们需要看下面几个知识点,都是非常简单的,我们主要认识一下. 数组 我们知道一个一个属性可以用一个类型去表示,那么我想问的是如果是一个属性的多个呢?也就是多个

  • IOS开发之路--C语言基础知识

    概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift 这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中. 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): Hello World 运行过程 数据类型 运算符 常用

  • C 语言基础教程(我的C之旅开始了)[八]

    19. 基本数据类型:复数类型和虚数类型 C99 新增了复数类型(_Complex)和虚数类型(_Imaginary).简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex.对于 float _Complex 类型的变量来说,它包含两个 float 类型的值,一个用于表示复数的实部(real part),另一个用于表示虚部(imaginary part).类似地,double _Complex 包含两个

  • C#语言基础——结构体和枚举类型全面解析

    一.结构体(struct) 结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承. 用结构的主要思想是用于创建小型的对象,如Point和FileInfo等等.这可以节省内存,因为没有如类对象所需的那样有额外的引用产生.例如,当声明含有成千上万个对象的数组时,这会引起极大的差异. 结构体是一个变量组,将一组变量放在一起,其实就是一个自定义

随机推荐