strlen的使用问题

原创 2015年11月19日 19:02:29

最近在做项目时,用strlen测试的字符串长度传递到另外一个函数中,结果由于含有'0'导致出错。应该是遇到了我下面的第二种情况,测试代码如下:

#include<stdio.h>
#include<string.h>


int main()
{
int len1,len2,len3;
char *str = "hello\0world";
char str2[] = {'h','e','l','l','o',0,'w','o','r','l','d'};
char *str3 = "hello0world";


len1 = 0;
len2 = 0;
len1 = strlen(str);
len2 = strlen(str2);
len3 = strlen(str3);
printf("len1 = %d,len2 = %d,len3 = %d \r\n",len1,len2,len3);




return 0;
}


测试结果:


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mt6246/article/details/49932077

strlen放置在for循环条件判断中容易导致死循环

例如: #include #include #include int main() {     const char* a = " ";     for(int i = 0; i strlen(...
  • zh515858237
  • zh515858237
  • 2017-01-05 17:31:32
  • 315

错误使用strlen() 出现的结果……

既然下定决心,就要持之以恒!C Primer Plus 这仅仅只是开始……2015.5.9
  • SYL100252
  • SYL100252
  • 2015-05-09 00:47:49
  • 628

strlen引起的错误

今天运行程序时,发现程序某名其秒的死了,找来找去找不到原因死在哪里,后来叫了同事过来帮忙看一下,发现原来是strlen的错误,原来strlen不能对空指针用。下面简单介绍一下strlen。 strle...
  • chenaibo
  • chenaibo
  • 2010-12-14 22:01:00
  • 5624

Strlen在实际使用中的一点体会

Strlen在实际使用中的一点体会      最近刚好时间比较充裕,可以对一些程序中的细节进行深入的挖掘。在运行的过程中发现一个奇怪的问题,运行的结果跟预想的有很大的区别。    已知在程序中...
  • zhjmyx
  • zhjmyx
  • 2016-07-14 17:03:39
  • 750

strlen的使用注意事项

strlen的功能:strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回...
  • lujiandong1
  • lujiandong1
  • 2017-04-16 10:03:22
  • 515

c strlen & C++ strlen,求长度问题,很容易犯错。

先看下面几个例子:/* 定义数据 */...char *msg1 = "testtest";char *msg2 = "test";int len = 20, t = 1;...1-----> if(...
  • vipvipvip
  • vipvipvip
  • 2011-04-20 21:14:00
  • 2996

字符串处理strlen函数需要注意的一些小细节问题

首先,strlen函数的原型是 extern unsigned int strlen(char *s); 在Visual C++ 6.0中,原型为size_t strlen(const...
  • liujian20150808
  • liujian20150808
  • 2015-12-26 00:44:15
  • 2676

C语言中 strlen函数用法的问题

看c primer plus的时候遇到一道编程题:
  • sinat_14958547
  • sinat_14958547
  • 2014-07-15 16:29:24
  • 1154

strlen的使用

#include size_t myStrlen(const char* s) { size_t length = 0; while(*s++) //遇到\0就返回 { ...
  • daa20
  • daa20
  • 2016-06-23 10:10:04
  • 211

strlen的2种实现方式以及注意事项

// MyTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; //遍历字符串,统计字符串...
  • brk1985
  • brk1985
  • 2015-03-10 15:40:42
  • 438
收藏助手
不良信息举报
您举报文章:strlen的使用问题
举报原因:
原因补充:

(最多只允许输入30个字)