http://www.cnblogs.com/del88/p/5448981.html

Delphi字符串、PChar与字符数组之间的转换

来自:http://my.oschina.net/kavensu/blog/193719

-----------------------------------------------------------------

var

  s: string;

  p: pchar;

  a: array[1..20] of char;

1、字符串 ---> PChar

  p := PChar(s);

2、PChar ---> 字符串

  s := p;

3、PChar ---> 字符数组

  StrCopy(@a , p);

4、字符数组 ---> PChar

  PChar(@a);

5、字符串 ---> 字符数组

  StrCopy(@a , PChar(s));

6、字符数组 ---> 字符串

  s := PChar(@a);

【注】字符串和字符数组之间的转换借助 PChar 做中转;

3.PChar类型纯粹为兼容C和WindowsAPI而设,使用非常麻烦。
APChar := StrAlloc(n); -- 分配空间
StrDispose(APChar); -- 释放空间
当然是以地址来传递的。

Delphi字符串、PChar与字符数组之间的转换
设有以下三个变量:
var
s:string;
p:pchar;
a:array[1..20] of char;
那么三者之间的转换如下:
1、字符串到PChar
p:=PChar(s);
2、PChar到字符串
s:=p;
3、PChar到字符数组
StrCopy(@a,p);
4、字符数组到PChar
PChar(@a);
5、字符串与字符数组之间的转换就只有通过PChar来中转了。例如下面这个例子:
procedure TForm1.btn1Click(Sender: TObject);
var
str:array[1..10] of char;
begin
StrCopy(@str,PChar(mmo1.Text));
mmo2.Text:=PChar(@str);
end;
 
分类: PChar

最新文章

  1. 从架构层面谈web加载优化(个人整理)
  2. html5中新增的form表单属性
  3. Backbone框架浅析
  4. [转]UpdatePanel的用法详解
  5. Sqli-LABS通关笔录-2
  6. 机器学习职位 & 面经
  7. Delphi 的运算符列表
  8. Setfocus - IE 需要使用setTimeout
  9. HDU 1695 GCD(欧拉函数+容斥原理)
  10. 谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比較
  11. JavaScript 语法
  12. Python文件读写模式
  13. 利用TPC-H为MYSQL生成数据
  14. NuGet 手动清除缓存不起作用
  15. 【学习】Linux Shell脚本实例之一
  16. 集群环境下的Session共享
  17. 自定义rem
  18. Node学习笔记(三)
  19. js堆栈
  20. ZKWeb网页框架1.5正式发布

热门文章

  1. datatable和dataset的区别
  2. 22 道高频 JavaScript 手写面试题及答案
  3. iOS开发之详解剪贴板
  4. Java基础学习(2)
  5. Java 应用中的日志
  6. bzoj3631: [JLOI2014]松鼠的新家(树上差分)
  7. Manjaro系统和软件安装记录
  8. nginx的配置和基本参数说明
  9. webpack 零基础到工程实战(1)
  10. 25个Apache性能优化技巧推荐