有关数据类型转换的问题,大家帮一把.(200分)

  • 主题发起人 主题发起人 P_O
  • 开始时间 开始时间
P

P_O

Unregistered / Unconfirmed
GUEST, unregistred user!
代码:
小弟是个delphi菜鸟,有这么几个问题.
1.对无类型文件操作时,怎么将一个string,将后面的结束符去掉然后再转换成byte型数组?
2.可否将指向此数组首位的指针当指向这个数组的指针使用?
3.怎么再将上面的数组转换成一个string?
4.把string用StrpCopy()到一个char数组中,标志结束的#0是否会去掉?
5.一个文件中读出的byte变量,是否会含有#0,使byte数组转换成string后会断开
 
String本身就可以被看作一个Char数组(元素标号从1开始)。
指向此数组首位的指针就是指向这个数组的指针。
var
mstr
begin
...
SetLength(mstr,BufLen);
//预分配字符串空间
System.Move(YourBuffer[0],mstr[1],BufLen);
//将YourBuffer中的内容复制到mstr中
...
end;

你可以自己实验——要培养自己解决问题的能力。
会含有#0,Pascal的String类型不会被#0截断。但是在显示的时候要将#0替换成别的字符——
因为用C写的Windows认为#0就是结束符,不会将其后的的信息显示出来。
 
楼上的大侠,最好详细点说哦,我是菜鸟....................
 
接受答案了.
 
后退
顶部