请问字符数组和字符串赋值不兼容吗?

birdhzx 2003-10-18 04:38:46
定义:
var
data1:Array[0..256]of char;
patBaseInf:string;
.
.
.
.

data1:=patBaseInf; ???
------
//[Error] MC32_42p.pas(245): Incompatible types: 'Array' and 'String'
...全文
46 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
saien 2003-11-07
  • 打赏
  • 举报
回复
兼容
manfeng 2003-11-07
  • 打赏
  • 举报
回复
StrPCopy(data1,patBaseInf)
liyangyao970 2003-11-01
  • 打赏
  • 举报
回复
转换一下可以了
var s:string
可以s[1],s[2] 一个char
delphiseabird 2003-11-01
  • 打赏
  • 举报
回复
不兼容,你可以转换成指针,附地址
angelface 2003-11-01
  • 打赏
  • 举报
回复
转换转换
阿发伯 2003-11-01
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
type
TCharArray = array[0..256] of char;
PCharArray = ^TCharArray;
var
a: TCharArray;
s: string;
begin
s := '12345';
a := PCharArray(s)^;
ShowMessage(a);
end;
aiirii 2003-10-25
  • 打赏
  • 举报
回复
但其實, 也可用
var
data1:Array[0..256]of char;
patBaseInf:string;
begin
patBaseInf := 'abcdefg';
strcopy(data1, Pchar(patbaseInf));
showmessage(data1);
...
aiirii 2003-10-25
  • 打赏
  • 举报
回复
pankun(剑神一笑 ^_^) 的方法可行!! 比較簡單!!!
ly_liuyang 2003-10-19
  • 打赏
  • 举报
回复
Delphi是强类型的,直接肯定不行的
转换就可以
pankun 2003-10-19
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
Str1: array [0..9] of char;
Str2: string;
begin
Str2 := 'wahahahaha';
CopyMemory(@Str1, @Str2[1], Length(Str2));
ShowMessage(Str1);
end;
birdhzx 2003-10-18
  • 打赏
  • 举报
回复
data1:= string(patBaseInf);不行,试了,
patbaseinf定义就 是一个string,string(string)?我不太明白,

请问怎么取得patbaseinf的首地址?

gdwyh 2003-10-18
  • 打赏
  • 举报
回复
二楼有理
Spacesoft 2003-10-18
  • 打赏
  • 举报
回复
晕…… 强制转换一下嘛……

data1:= string(patBaseInf);

这样不就好了吗?
waxi 2003-10-18
  • 打赏
  • 举报
回复
您说对了,呵呵

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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