我写的一个程序里产生了一个带有#0的PCHAR字符串,可是在这个函数运算结束开始赋值时,这个字符串的内容就变了,在C++里可以定义无符号字符型来规避它,可是在Delohi中应该怎样做才可以让字符串的内容原封不动的保留下来呢???
解决方案 »
- Delphi消息机制
- 关于自定义消息:If your application is marked version 4.0, you can use range 0x8000 (WM_APP) through 0xBFFF for private message
- 第一次到来,小散50分
- 救急:系统权限设置-----up有分
- 高手还在吗------关注!!!!!!!!!!!!当场给分
- 请介绍SNMP的控件或相关的编程资料?
- 关于数据库查询结果显示问题???
- 统计出table1中dm字段的内容为"002"的有几个,怎么办?请指教!
- 关于红旗LINUX的紧及求救??????
- 各位高手,怎样用Delphi编写多语言支持的系统?
- delphi能做手机游戏吗?
- COM+资源鉴定问题
例如:
字符串 Value := '243123$^%$# #0 #0'
函数在将Value 的值赋给一个Pchar 或String的变量后,值就变了,要么是#0被去掉了,要么就多了很多不知道是什么的字符!
就是这样,我希望Value的值无论如何赋值都保持不变
小弟在此谢过啦,
小弟的邮箱是: [email protected]
var
s1,s2:String;
begin
s1:='243123$^%$# #0 #0';
s2:=s1;
showmessage(s1);
showmessage(s2);
end;
实验表明,s1和s2的直没有变!
var
s1:String;
s2:Pchar;
begin
s1:='243123$^%$# #0 #0';
s2:=pchar(s1);
showmessage(s1);
showmessage(s2);
end;实验再次表明,把s1(sting类型)复制给s2(pchar类型)时也没有变啊!
例如:function Func() : PCHAR;
begin
...
Result := '1237368 *&^%^* #0#0';
...
end;
String AValue := Func();
值就变了!
我用你的上面的函数,也没变的
那我觉得会有变化,但如是 Value := '243123$^%$# #0 #0'
我觉得没问题的!