回 帖 发 新 帖 刷新版面

主题:如何获取一个文本里的全部内容?赐教!

还是关于在文本中获取的事
在上几贴中有这样一帖:

有一个TXT文件,我想取出第8行的前5位取出,并设其为一个变量?

答案是:

open "文件.txt"for input as #1
for i=1 to 8
  line input #1,a$
next
close #1
a$=left$(a$,5) '这就是你需要赋值的变量,随便你喜欢把它煎完再炒都可以
===========================================================================
我要获取这个文本里的全部内容该怎么写?
谢谢!请赐教!

回复列表 (共9个回复)

沙发

open "文件.txt"for input as #1
for i=1 to 8
  line input #1,a$
  b$=b$+a$
next
close #1
?b$'这就是你需要赋值的变量,随便你喜欢把它煎完再炒都可以

板凳

请问def 老师:
上面是一个获取一共8行字的文本,如果我要获取一个不管多少行字的,10行就10行,20行就20行,(文本里行数在一定时间自动会变)那怎么获取呢?

3 楼

哈哈,怎么我这句煎完再炒都要抄袭啊,哈哈

用a$=input$(l%,#f%)
短字符模式l%可以去到16373的长度.
也就是说,你可以一次过读入16373个字符.
(其实对于搜索很有用)

4 楼

谢谢大家的热心帮助!

我在实际应用中又遇到了问题,我还想请教个问题?(不要说我笨哦!)
就是在一个文本中如果有20行字每行有30个字,我想在每行第30个字
的后面,也就是每行的最后插入这个“*”该怎么写?谢谢!

5 楼

这样行不行,删去从31个字开始以后的字,然后在在删去的字上加的*再打印上去?

6 楼

最传统的办法是:

1. 把原文件名改名
2. 新建一个原文件
3. 把旧文件的内容写到新文件中
4. 写的过程中编辑需要更改的内容

如果文件不长的话,我倒是有一个好办法.

defint a-z
f$="文件名"
f=freefile
cr$=chr$(13)+chr$(10)
open f$ for binary as #f
a$=input$(16383,#f)
i=instr(1,a$,cr$)
do while i
     mid$(a$,i)="*"+mid$(a$,i)
     i=instr(i+2,a$,cr$)
loop
put #1,1,a$
close

把整个文件当作一个字符串来操作,简单快捷,包你用过还想用,呵呵
前提就是文件不是太长,长文件的话,你就得考虑尾巴的问题了.

7 楼

moz老师:
在编译时这句出现错误!
LOOP WHILE I

提示:LOOP WITHOUT DO

8 楼

不好意思不好意思
人老了就是老了
不得不承认了

你把LOOP后面的删掉就可以了.

再一次致歉.

9 楼

哈哈!没关系的啦.老师也是凡人啊,难免也要出错的啦!
我的问题已解决了,谢谢你一次一次的帮忙,还有大家热心的朋友!

我来回复

您尚未登录,请登录后再回复。点此登录或注册