StrMove 和 CopyMemory 都是所有都拷贝.不管源字符串是否结束.想找一个源字符串结束了就不用拷贝的函数.
解决方案 »
- 求DElphi大神帮助,sql语句中如何查询某月的所有数据
- edit1怎么拼接
- fast report for d2009安装
- 送分题: messagedlg函数的分行显示提示信息
- 这样的问题该如何写函数?
- 特急,百分求解简单问题
- 两个线程的核心代码都是调用的主程序里面的函数,请问这样做是否有问题?[内详]
- 求高手急救!!!(我是新手)
- 已经对类的编写和组件的编写比较熟练了,但做项目还是觉的没有经验,为什么好象这里没有什么人喜欢自己写组件
- 如何判断TTreeView中的节点是否是继承关系?
- 如何在TDBGrid刷新 后 继续定位到刷新前的记录
- Twebbrowser如何輸入沒有input name 的提交呢
StrLCopy 有这样的问题:
var Dest : array [0..8] of char ;
scoure : string;
begin
fillchar(Dest, sizeof(Dest), 0);
scoure := '12345678900';
StrLCopy(Dest, PChar( scoure ), SizeOf(Dest)-1 );
//Dest 只拷贝了1~8
end;
怎么能将Dest 为1~9
scoure : string;
begin
fillchar(Dest, sizeof(Dest), 0);
scoure := '12345678900';
//StrLCopy(Dest, PChar( scoure ), SizeOf(Dest)-1 );
//Dest 只拷贝了1~8
Move(PAnsiChar(Source)^, Dest, Min(Length(Source), Length(Dest)));
end;
var Dest : array [0..8] of char ;
scoure : string;
begin
fillchar(Dest, sizeof(Dest), 0);
scoure := '12345678900';
//StrLCopy(Dest, PChar( scoure ), SizeOf(Dest)-1 );
//Dest 只拷贝了1~8
Move(PAnsiChar(Source)^, Dest, Min(StrLen(PAnsiChar(Source)), Length(Dest)));
end;
var
Dest: array [0..8] of char ;
scoure: string;
begin
fillchar(Dest, sizeof(Dest), 0);
scoure := '12345678900';
Move(PAnsiChar(scoure)^, Dest[0], High(Dest));
end;
还有一个问题.如果在把Dest数组转为字符串是不是需要在后面加#0啊?该如何做?请指点.
scoure := StrPas(PAnsiChar(@Dest[0]));
scoure := StrPas(PAnsiChar(@Dest[0]));不行?