C语言求指针指向的字符串的问题,高手来

辧聪 2011-12-27 09:17:51

求 char *p="\0anfd\0dsd\0sdsd";字符串长度


strlen是不行的;
也别说用数组存,用sizeof求;
...全文
213 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2011-12-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 flyrack 的回复:]
我以前问过同样的问题 就是知道char* p指向了一个内存 想知道这个内存的大小 他们都告诉我C语言程序员应该自己知道自己使用的内存大小
[/Quote]
++
这个是有道理的
flyrack 2011-12-27
  • 打赏
  • 举报
回复
我以前问过同样的问题 就是知道char* p指向了一个内存 想知道这个内存的大小 他们都告诉我C语言程序员应该自己知道自己使用的内存大小
柯本 2011-12-27
  • 打赏
  • 举报
回复
在实际编程中,一般没有这种需求的(也就是就不要这样做)
真的含的\0的数据,像我#1所说,用字符数组或结构(网络编程中有很多这样实例的)
辧聪 2011-12-27
  • 打赏
  • 举报
回复
现在就是求已给定的p的字符串长度。
strlen和sizeof能直接解决问题就
不用跑这问了
柯本 2011-12-27
  • 打赏
  • 举报
回复
补充下(没完全理解楼主要求)
你的p的字符串长在C/C++中是不可求的
直接求字串长度可以用
sizeof("\0anfd\0dsd\0sdsd");

辧聪 2011-12-27
  • 打赏
  • 举报
回复
我现在就是需要求p的长度。strlen和sizeof的用法也懂啊。晕。

辧聪 2011-12-27
  • 打赏
  • 举报
回复
我现在就是需要求p的长度。strlen和sizeof的用法也懂啊。晕。

柯本 2011-12-27
  • 打赏
  • 举报
回复
先看下书,C语言字符串的定义吧
strlen求的字符串,是要以\0结尾的,你的数据中有\0,当然不能用strlen来求长度
sizeof也是不可以的.(它得到的是指针长度)
像你的要求,可用字符数组而非字符串来存储,字符数组可用sizeof求长
也可以自己定义结构,放入长度(pascal的短字符串,就是自定义的,第一字节为长度)
十八道胡同 2011-12-27
  • 打赏
  • 举报
回复
sizeof 只能求的 变量所占的内存,也求不得长度
游戏设计师 2011-12-27
  • 打赏
  • 举报
回复
char *p="\\0anfd\\0dsd\\0sdsd";
游戏设计师 2011-12-27
  • 打赏
  • 举报
回复
char *p="\\0anfd\\0dsd\\0sdsd";
flyrack 2011-12-27
  • 打赏
  • 举报
回复
长度未知 内存后面还有内容的 只是你不知道而已

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧