space问题!马上给分

auroralccy 2004-03-23 02:33:13
我定义了一个变量 abc = SPACE(8),
我想往这8个字节的空间写入 整形数 8和整形数0,

请教该如何对abc赋值?
...全文
58 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfwxj 2004-03-24
  • 打赏
  • 举报
回复
to:auroralccy()

这里是VFP,不是C,所以你说的问题大家都看得懂,又都看不懂,在VFP里面赋值很简单,“变量=值”就行了,你用的这种赋值方式只有在FOXPRO里面用到,是对GET语句的字符变量预置长度用,在VFP里面也不用了,只要用“ABC=''”就能定义ABC是字符类型了,况且都是用文本框输入数据,只要设置文本框的最大输入长度就行了
auroralccy 2004-03-24
  • 打赏
  • 举报
回复
to mymenglin(梦林):
指教!
如你所说,“要得到'0x00,0x00,0x00,0x08'等的结果只能是读取程序事”,对是这样的,
我就希望读到内存里是'0x00,0x00,0x00,0x08',但是,我在写程序时用什么字符表示'0x00,0x00,0x00,0x08'呢? 用什么字符表示能使读的程序能读正确呢?
我知道'0x00,0x00,0x00,0x08'不是可显示字符。

高手指教!
梦林 2004-03-24
  • 打赏
  • 举报
回复
搞什么呀?你懂C语言干吗到VFP区提问?
定义abc=spac(8)后abc就是字符型,你写什么进去都玩完!
要得到'0x00,0x00,0x00,0x08'等的结果只能是读取程序事,
看你怎么对这8个字节的内容翻译和使用了,你甚至可以用
abc='张三李四'代表你那一串16进制数!
auroralccy 2004-03-24
  • 打赏
  • 举报
回复
to xuzuning(唠叨):
pad1哪里冒出来的?它又是什么意思?

怎么没有人明白我的意思??有人懂C语言吗?

我现在申请了8个字节的空间(SPACE(8)),里面想存入数字,而不是字符!!!
我期望达到的结果为:
这8个字节的数据为(16进制表示):0x00,0x00,0x00,0x08,0x00,0x00,0x00,x0x00
you
fj_jiangqi 2004-03-24
  • 打赏
  • 举报
回复
也可以参考一下bintoc(),ctobin()这两个函数,不过最大只支持4个字节,而且是胡里非标准的存储格式,得出的值与c里相差2^(n-1)
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
xiolig 2004-03-24
  • 打赏
  • 举报
回复
abc = STUFF(REPLICATE(CHR(0),8),4,1,CHR(8))
参阅:BIT 系列函数

猜测你的意图,可能写个这样的函数:
*FUNCTION Bin2C
LPARAMETERS tnInt,tnLen
LOCAL lnTmp,lcRet
lnTmp = tnInt
lcRet = SPACE(0)
DO WHILE lnTmp > 0
lcRet = lcRet + CHR(lnTmp%256)
lnTmp = INT(lnTmp/256)
ENDDO
RETURN IIF(VARTYPE(tnLen)="N",;
PADR(lcRet,tnLen,CHR(0)),lcRet)
*测试代码:
*abc = Bin2C(0x8000000,8)
newfang 2004-03-24
  • 打赏
  • 举报
回复
呵呵~~~~这就是简单问题复杂化…………!!!
yestoyes 2004-03-23
  • 打赏
  • 举报
回复
*VFP的变量类型是自动的
abc=123
abc='123'
abc={^2004-03-23}
abc=.t.
abc='88880000'
*这一程序段运行是不会出错的,最终结果是:abc是字符型变量,值为"88880000"
xuzuning 2004-03-23
  • 打赏
  • 举报
回复
abc = padl(8,4,"0")+"0000"
auroralccy 2004-03-23
  • 打赏
  • 举报
回复
我是想在前4个字节存放8,后4个字节存放0,
在C语言里,一个整形变量占4个字节,所以存2个变量需要8个字节,
在VFP里怎么赋值呢?
magnetmoon 2004-03-23
  • 打赏
  • 举报
回复
*VFP是不会进行数据类型检测,你不用考慮,它會自動賦值的
abc=space(8)
?abc
abc='0'
?abc
abc=0
?abc
abc='8'
?abc
abc=8
?abc

myfoxprox 2004-03-23
  • 打赏
  • 举报
回复
什么意思?VFP是不会进行数据类型检测,ABC=ALLTRIM(STR(8)),ABC=ALLTRIM(STR(0)),这样可以吗?

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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