delphi中string如何转化为array of char

1:我知道,我对这方面研究很深!标准答案:

例子:
procedure TForm1.Button1Click(Sender: TObject);
var
mychar: array of char;
mystr: string;
begin
mystr:=‘this’;
setlength(mychar,4); //设置数组长度
move(mystr[1],mychar[0],length(mystr)); //赋值
end;

/经过测试
2:var
ss:string;
i:integer;
aa:char;
begin
ss:=‘abcde’;
for i:=1 to length(ss) do
begin
aa:= ss[i];
showmessage(aa) ;
end;
end;
试试看你就明白了…呵呵
3:不用函数,字符串实际上就是字符数组
因为因为多,所以起了一个名字叫string
st:string;
ch:char;
st:=‘hello,world’;
ch:=st[3];

你可以通过下标访问那个字符
4:ss:string ;
cc:char ;
i:integer ;

cc:=ss[i] //注意此处i必须大于 0,下于等于 length(ss)

5:Var
_str:string;
carr:array [1…255] o char;
begin
_str:=‘What Can I Do For You ?’;
FillChar(cArr,SizeOf(carr),0);
Move(_Str[1],CArr,LengTh(_Str));
// CArr为你需要的结果!
end;

6:var
cArray: array[0…30] of Char; //定长字符数组
dArray: array of Char; //动态字符数组
str: string;
iLen: Integer;
begin
str := ‘wo shi xiaobenben’;
iLen := Length(str);

FillChar(cArray, sizeof(cArray), #0);
Move(PChar(str)^, cArray[0], iLen);

SetLength(dArray, iLen 1);
FillChar(dArray[0], iLen 1, #0);
Move(PChar(str)^, dArray[0], iLen);

Caption := cArray ’ - ’ PChar(dArray);
end;

7:我找到别的答案:

s1:string;
s2:array[0…255] of char;

strmove(s2,pchar(s1),length(s1));
谢谢大家

8:s1:stirng;
s2:array[1…123]of char;
s2:=@s1[1]^
9:大体就是这样了:
var
mychar: array of char;
mystr: string;
begin
mystr:=‘name’;
setlength(mychar,4); //设置数组长度
move(mystr[1],mychar[0],length(mystr)); //赋值
end;

10:可以不用MOVE拷贝内存的
11:s1:string;
s2:array[1…123]of char;
s2:=@s1[1]^;
编译不过。
12:其实你s2:pchar;
s2:=@s[1];
就可以了,传递数组的时候你传递指针就行了,和C/C 一样,
13:@s[1]指向的可能是非0结尾的串,例如 s:=‘123’;
但@s[1]可能是123¥%34阿df#0

所以应该是:

s2:=pchar(s1);
14:就是这个了:

s1:string;
s2:array[0…255] of char;

strmove(s2,pchar(s1),length(s1));

15:可以结束了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ysgs129

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值