• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言中计算字符串长度与分割字符串的方法

C语言中计算字符串长度与分割字符串的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c语言字符串长度,c语言字符串长度函数,c语言求字符串长度,c语言计算字符串长度,c语言获取字符串长度等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C语言strlen()函数:返回字符串的长度
头文件:

 #include <string.h>
</div>

strlen()函数用来计算字符串的长度,其原型为:

  unsigned int strlen (char *s);
</div>

【参数说明】s为指定的字符串。

strlen()用来计算指定的字符串s 的长度,不包括结束字符"\0"。

【返回值】返回字符串s 的字符数。

注意一下字符数组,例如

  char str[100] = "http://see.xidian.edu.cn/cpp/u/biaozhunku/";
</div>

定义了一个大小为100的字符数组,但是仅有开始的11个字符被初始化了,剩下的都是0,所以 sizeof(str) 等于100,strlen(str) 等于11。

如果字符的个数等于字符数组的大小,那么strlen()的返回值就无法确定了,例如

  char str[6] = "abcxyz";
</div>

strlen(str)的返回值将是不确定的。因为str的结尾不是0,strlen()会继续向后检索,直到遇到'\0',而这些区域的内容是不确定的。

注意:strlen() 函数计算的是字符串的实际长度,遇到第一个'\0'结束。如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0'停止。而sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。

【函数示例】取得字符串 的长度。

#include<stdio.h>
#include<string.h>
int main()
{
  char *str1 = "http://see.xidian.edu.cn/cpp/u/shipin/";
  char str2[100] = "http://see.xidian.edu.cn/cpp/u/shipin_liming/";
  char str3[5] = "12345";
  printf("strlen(str1)=%d, sizeof(str1)=%d\n", strlen(str1), sizeof(str1));
  printf("strlen(str2)=%d, sizeof(str2)=%d\n", strlen(str2), sizeof(str2));
  printf("strlen(str3)=%d, sizeof(str3)=%d\n", strlen(str3), sizeof(str3));
  return 0;
}
</div>

运行结果:

strlen(str1)=38, sizeof(str1)=4
strlen(str1)=45, sizeof(str1)=100
strlen(str1)=53, sizeof(str1)=5
</div>

上面的运行结果,strlen(str1)=53显然不对,53是没有意义的。

C语言strtok()函数:字符串分割
头文件:

#include <string.h>
</div>

定义函数:

char * strtok(char *s, const char *delim);
</div>

函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。

返回值:返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

范例

#include <string.h>
main(){
  char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
  char *delim = "-: ";
  char *p;
  printf("%s ", strtok(s, delim));
  while((p = strtok(NULL, delim)))
    printf("%s ", p);
    printf("\n");
}
</div>

执行结果:

ab cd ef;gh i jkl;mnop;qrs tu vwx y;z   //-与:字符已经被\0 字符取代
</div>


 

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C语言中函数返回字符串的方法汇总
  • C语言实现返回字符串函数的四种方法
  • 浅谈C语言之字符串处理函数
  • c语言中字符串分割函数及实现方法
  • C语言左旋转字符串与翻转字符串中单词顺序的方法
  • C语言中计算字符串长度与分割字符串的方法
  • 使用C语言提取子字符串及判断对称子字符串最大长度
  • c语言输出字符串中最大对称子串长度的3种解决方案
  • 基于C语言字符串函数的一些使用心得

相关文章

  • 2017-05-28用c 获取文件MD5值的实现方法
  • 2017-05-28C语言编程中统计输入的行数以及单词个数的方法
  • 2017-05-28C++虚函数的实现机制分析
  • 2017-05-28C语言中查找字符在字符串中出现的位置的方法
  • 2017-05-28C++中用new创建二维数组和指针数组实例代码
  • 2017-05-28C语言变量类型与输出控制用法实例教程
  • 2017-05-28总结C语言中const关键字的使用
  • 2017-05-28c语言实现词频统计的简单实例
  • 2017-05-28C程序实现整数的素数和分解问题
  • 2017-05-28C++设计模式之状态模式

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 全面了解结构体、联合体和枚举类型
    • c++ 中__declspec 的用法详解
    • typedef_struct与struct之间的区别
    • C++友元函数与拷贝构造函数详解
    • C与C++ 无参函数的区别解析
    • C语言之从字符数组中删除特定的字符
    • 基于C++ list中erase与remove函数的使用详解
    • 深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)
    • C++中的三大函数和操作符重载(Boolan)
    • C语言编程中生成随机数的入门教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有