vb中添加c语言代码,这是一段VB6的代码,哪位高手能给翻译成C语言的

这段博客内容涉及将VB6代码翻译成C语言。博客中给出了VB6的代码示例,并展示了如何将其转化为C语言的等效代码。主要涉及的数据结构包括长整型数组、记录类型以及一些变量定义。此外,还包含了一个`LoadFSTdata`函数用于读取文件数据,并有`getRealPrice`函数用于处理价格计算。在代码中,还定义了数据记录的结构和处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前位置:我的异常网» C++ » 这是一段VB6的代码,哪位高手能给翻译成C语言的

这是一段VB6的代码,哪位高手能给翻译成C语言的

www.myexceptions.net  网友分享于:2013-03-14  浏览:19次

这是一段VB6的代码,谁能给翻译成C语言的

这是一段VB6的代码,谁能给翻译成C语言的

Public tempdata() As Long

Public NumBase(5) As Long '基数

Public NumUnit(4) As Long '每单位对应的16进制数

Public NumUnitPrice(4) As Long '每单位对于的10进制数,已被从元为单位扩大1000倍

Public Type tempFSTrecord '每一条记录的长度为26字节:

FSTtime As Integer

price As Long

avgPrice As Long

changor As Integer

unUse0 As Integer

unUse1 As Long

unUse2 As Long

unUse3 As Long

End Type

Function LoadFSTdata(ByVal filename As String, fst() As FSTrecord) '240个分记录,26个字节一个记录,6508字节一天

Dim ifile As Integer, i As Integer, j As Integer

Dim TFR As tempFSTrecord

Dim fileP As Long

Dim lenDayFST As Long: longDayFST = 6508

Dim lenminuteFST As Long: lenminuteFST = 26

ifile = FreeFile

Open filename For Binary As ifile

'LoadFSTdata = (LOF(ifile) - 8) / 26 - 10

LoadFSTdata = LOF(ifile) / 6508

ReDim fst(1 To LoadFSTdata, 239)

ReDim tempdata(1 To LoadFSTdata)

ReDim tempMidprice(1 To LoadFSTdata)

ReDim fstMaxPrice(1 To LoadFSTdata)

For j = 1 To LoadFSTdata

Get ifile, 1 + (j - 1) * longDayFST, tempdata(j)

Get ifile, 5 + (j - 1) * longDayFST, tempMidprice(j)

fstMaxPrice(j) = 0

For i = 0 To 239

fileP = (j - 1) * longDayFST + i * lenminuteFST + 8 + 1

Get ifile, fileP, TFR

fst(j, i).FSTtime = TFR.FSTtime + 1 'fst(i).FSTtime = TimeSerial(0, TFR.FSTtime + 1, 0)

fst(j, i).price = TFR.price

fst(j, i).avgPrice = TFR.avgPrice

fst(j, i).changor = TFR.changor

If Abs(TFR.price - tempMidprice(j)) > fstMaxPrice(j) Then

fstMaxPrice(j) = Abs(TFR.price - tempMidprice(j))

End If

Next i

Next j

Close ifile

End FunctionFunction getRealPrice(formerPrice As Long) As Long '注意移植此函数是要把公共变量NumBase预NumUnit移动移植

Dim i As Integer

For i = 1 To 4 '该函数可返回32元人民币以下对于的准确价格

If formerPrice < NumBase(i) Then

getRealPrice = (Val((formerPrice - NumBase(i - 1)) & "000") / NumUnit(i - 1)) + NumUnitPrice(i - 1)

Exit For ' & 000 相当于 * 1000,以‰为单位

End If

Next i

End Function

Public Sub main()

NumBase(0) = 1065353216: NumBase(1) = 1082130432: NumBase(2) = 1090519040: NumBase(3) = 1098907648: NumBase(4) = 1109655552 ': NumBase(5) = 1118830592

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值