string 与 PChar
来源:互联网 发布:windows模板 编辑:程序博客网 时间:2024/06/05 17:55
来自Delphi Help 关键字String to PChar conversions
长字符串转换到PChar不是自动的。他们之间的不同点导致他们的转换存在问题。
1,长字符串是引用计数的,而PChar不是
2,赋值给长字符串是数据的拷贝,而PChar是指向数据的指针。
3,长字符串是空止符结尾,并包含有字符串的长度。而PChar是简单的空止符结尾。( 空止符结尾指以#0结尾)
procedure my_func(x: string);
begin
some_proc(PChar(x)); //参照第一条,这么做自己负责x的生存期
end;
function title(n: Integer): PChar;
var
s: string;
begin
s := Format('title - %d', [n]);
Result := PChar(s); // 参照第2条,不能这么做
end;
长字符串转换到PChar不是自动的。他们之间的不同点导致他们的转换存在问题。
1,长字符串是引用计数的,而PChar不是
2,赋值给长字符串是数据的拷贝,而PChar是指向数据的指针。
3,长字符串是空止符结尾,并包含有字符串的长度。而PChar是简单的空止符结尾。( 空止符结尾指以#0结尾)
procedure my_func(x: string);
begin
some_proc(PChar(x)); //参照第一条,这么做自己负责x的生存期
end;
function title(n: Integer): PChar;
var
s: string;
begin
s := Format('title - %d', [n]);
Result := PChar(s); // 参照第2条,不能这么做
end;
- string 与 PChar
- delphi PChar与String互转
- Pchar 、char、string有什么区别?与转换
- delphi中pchar、char、string的定义与区别
- PChar与String的区别及互相转换
- delphi中pchar、char、string的定义与区别
- PChar String Char数组
- String Pchar 互相转换
- 关于string和pchar
- 关于string和pchar
- delphi 中的string 和 Pchar
- Char Pchar String的区别
- 字符串string 字符数组与指向字符串的指针pchar的区别与联系
- string 类型和 pchar 的区别
- StrPas是将PChar转换为String;
- delphi pchar char byte string转换问题
- delphi pchar char byte string转换问题
- Delhpi学习2-----关于string, shortstring, PChar
- 去掉快捷方式图标上的箭头
- 什么是AOP(转贴)
- 学车笑谈
- System.Runtime.InteropServices.COMException(0x8004020F): The server rejected one or more recipient addresses.
- unicode
- string 与 PChar
- 文章标题:[转帖]关注中国智力产业:软件蓝领即将兴起
- Linux 入门常用命令
- 自动自发,迈向成功(zt)
- 12月1日晚网工1班实验 『SQL INJECTION』
- ShadowStar CodeFast 下载
- 一些SQL SERVER的系统信息
- 你永远没有第二次机会来留下第一印象
- Take Me to Your Heart