如何读取长度大于32767 的文件

xyzliuin 2003-08-23 11:23:56
如题。我需要将数据窗口结构文件(*.srd)赋值到字符变量,如果文件大于32767则不能获得全部的字符,该如何取值?
我的代码是
if ll_filelen < 32767 then
fileread(li_filenum,ls_report)
else
messagebox('错误','文件过长')
return ''
end if

如果文件超长则只能获得32767个字符
...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyzliuin 2003-08-23
  • 打赏
  • 举报
回复
而且我是要存到字符变量里,存到文件里就不用了
xyzliuin 2003-08-23
  • 打赏
  • 举报
回复
to: polugen(独孤狂客)
sfilecontent 是怎么来的?
polugen 2003-08-23
  • 打赏
  • 举报
回复
fnum = FileOpen(sfilename, STREAMMODE!, WRITE!, LOCKWRITE!, APPEND!)

/*FileRead()函数不支持读取大于32K的文本,计算将使用FileRead函数的次数*/

flen = Len (sfilecontent)

IF flen > 32766 THEN loops = ((flen - 1) / 32766) + 1 ELSE loops = 1

bnum = 1

FOR i = 1 To loops

readblob = BlobMid (sfilecontent, bnum, bnum + 32765)

FileWrite (fnum, readblob)

bnum = 32765 * i + 1

NEXT

FileClose(fnum)

jdsnhan 2003-08-23
  • 打赏
  • 举报
回复
循环读取
xyzliuin 2003-08-23
  • 打赏
  • 举报
回复
顺便问一下,字符型变量最多能存储多少字符,是60000个吗

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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