易码技术论坛

 找回密码
 加入易码
搜索
查看: 87667|回复: 1

[求助]字符

[复制链接]
发表于 2005-8-31 10:22:00 | 显示全部楼层
以下是引用syzhyl在2005-8-30 12:49:00的发言:[BR]void main()
{
memcpy(htt,ht+8,strlen(ht)-8);
strcpy(ht,htt);
ht[strlen(ht)]=0;

}
我为什么会得不到预期的结果?
比如ht[]="1234567890"
运行后应该得ht[]="90";可我得不到

这两句有问题。
strcpy(ht,htt);
htt 中的0不一定就在“90”后。。。(注意:字符串是以0结尾)
ht[strlen(ht)]=0
同上,strlen(ht)得到的未必就是2。

事实上,整个代码用一句就可解决:
memmove(ht,ht+8,strlen(ht)-7);
 楼主| 发表于 2005-8-30 12:48:44 | 显示全部楼层 |阅读模式
void main()
{
memcpy(htt,ht+8,strlen(ht)-8);
strcpy(ht,htt);
ht[strlen(ht)]=0;
}
我为什么会得不到预期的结果?
比如ht[]="1234567890"
运行后应该得ht[]="90";可我得不到
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-6-15 15:08 , Processed in 0.010341 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表