比较的时候你用memicmp()还是lstrcmpi()??

cd7809 2003-07-24 05:40:55

好像MSDN上说memicmp只能在win95和winNT上用吧?
...全文
63 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zark 2003-07-30
  • 打赏
  • 举报
回复
有显著的区别,
chartemp[3]={1,2,3};
在内存里是0x1,0x2,0x3.三个字节.
chartemp[3]="123";
在内存里是0x31,0x32,0x33,0x00,其中第四个字节将产生越界.
cd7809 2003-07-30
  • 打赏
  • 举报
回复
char strtemp[3]={1,2,3} 与 char strtemp[3]=“123” 有什么区别吗?
Zark 2003-07-30
  • 打赏
  • 举报
回复
char chTemp[3] = "ABC";
是错的,可能带来严重的后果。

应该是
char chTemp[4] = "ABC";

qubo 2003-07-28
  • 打赏
  • 举报
回复
char chTemp[3] = "ABC";可以通过编译啊
qubo 2003-07-28
  • 打赏
  • 举报
回复
char strtemp[3]={1,2,3};
cd7809 2003-07-27
  • 打赏
  • 举报
回复

可是char chTemp[3] = "ABC" 编译都无法通过呀~~~~~~
loverP 2003-07-27
  • 打赏
  • 举报
回复
有,除非你写char chTemp[3] = "ABC"
cd7809 2003-07-27
  • 打赏
  • 举报
回复

谢谢各位!!
to happycock(SSWW): 什么情况下字符串没有结束标志呢?

比如:char chTemp[MAX_PATH] = "ABC"; 这个时候它有结束标志吗?
  • 打赏
  • 举报
回复
mem 类函数是缓冲区处理,针对的是 void* ,各类指针均可使用。

而 str 类函数只能用于字符指针。
happycock 2003-07-25
  • 打赏
  • 举报
回复
要是总是看不见字符串结束标志怎么办?
cd7809 2003-07-25
  • 打赏
  • 举报
回复

listrcmpi怎么会不安全呢?
NowCan 2003-07-24
  • 打赏
  • 举报
回复
memicmp需要指定比较的长度。而lstrcmpi是根据字符串结束标志来定的,有一定的不安全因素。
idontlikenickname 2003-07-24
  • 打赏
  • 举报
回复


不是那个意思~
printf()还是win95,winNT呢~

69,371

社区成员

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

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