Delphi XE里的StrPas要注意哦(要让StrPas知道哪里是字符串结束)
废话不多说了,直接上例子解说:
procedure TForm1.Button1Click(Sender: TObject);
var
aa: array[0..1]of AnsiChar;
bb1: string;
begin
aa[0] := AnsiChar('1');
aa[1] := AnsiChar('2');
bb1 := StrPas(aa);
ShowMessage(bb1); //这里显示不正确
end;
procedure TForm1.Button1Click(Sender: TObject);
var
aa: array[0..2]of AnsiChar;
bb1: string;
begin
aa[0] := AnsiChar('1');
aa[1] := AnsiChar('2');
bb1 := StrPas(aa);
ShowMessage(bb1); //这就正确了
end;
为什么呢?? 没时间深入研究了,估计是StrPas的Bug。
不是bug吧 这个字符串要有结束符吧
不然你写个StrPas看看,没有结束符,咋判断字符串长度?!
类似Obj-C:
char xx[2];
xx[0] = '0';
xx[1] = '1';
[NSString stringWithUTF8String:xx];
这样你是获得不到正确结果的,要下面这样
char xx[3];
xx[0] = '0';
xx[1] = '1';
xx[2] = '\0';
[NSString stringWithUTF8String:xx];
http://www.cnblogs.com/AnyDelphi/archive/2011/10/15/2212755.html
最新文章
- 使用vscode访问和修改远程计算机文件
- 解读ASP.NET 5 &; MVC6系列(3):项目发布与部署
- 使用Java判断字符串中的中文字符数量
- ASP.NET MVC使用Bootstrap系列(4)——使用JavaScript插件
- StringBuilder和StringBuffer区别
- Centos Python2 升级到Python3
- react-native 的微信SDK辅助包,支持微信登录、微信分享、微信支付
- 【PHP】phpcms 关联连接修复
- Lua参考手册
- 关于css中overflow的一些理解
- C++服务器设计(六):设备连接的生命周期管理
- windows不能在本地计算机启动SQL Server(MSSQLSERVER)
- MySQL 出现 The table is full 的解决方法
- Spring之循环依赖
- 前端发展态势 &;&; 前端工作流程个人浅析
- 【Floyd】BZOJ1491: [NOI2007]社交网络
- k8s部署使用Dashboard(十)--技术流ken
- docker 删除指令
- 对象引用对于非静态的字段、方法、属性Program.Print()是必需的
- MarkDown学习——基础用法
热门文章
- iOS用同一个工程创建两个不同版本的应用
- 【数据库】sql2008卸载和默认实例的删除 标签: 数据库 2014-11-16 15:15 5878人阅读 评论(30)
- mySQL start service失败终极解决办法
- Java练习 SDUT-3328_JAVA判断合法标识符
- PHP header 的7种用法
- MapReduce数据流-Mapper
- [翻译]Python中yield的解释
- hdu 1599 find the mincost route(无向图的最小环)
- H3C OSI参考模型层次结构
- CSS优化,提高性能的方法有哪些?