当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·2002年casl试题疑问    »显示摘要«
    摘要: 在 comet 型计算机上可以使用试卷上所附的 casl 汇编语言。阅读程序说明和 casl 程序,将应填入__(n)__处的字句,写在答题纸的对应栏内。 [程序说明] 本程序将 80 个 ascii 编码的数字字符转换成 bcd 码(二十进制码),并将每四个 bcd 码压缩在一个字中。见下面图示。 程序中约定原始数字字符存放在 sj 开始的连续存区中,转换和压缩结果存放在 ys 开始的连......
 ·初学者fscommand涵数的用法    »显示摘要«
    摘要: 我做了一个flash,但是我想按任意键直接进入外部程序(vb做的).但是我是初学者,根本不知道在哪里写fscommand,能不能把用法详细的说一下(例如用哪个快捷键调出什么),非常感谢! ......


如何定位文本文件的某一行如何取得文本文件的行数

首先,我如何取得一个文本文件的行数?(   不要告诉我用fgets先循环一遍:)   )  
   
  第二,我怎么把文件指针定位在某一行?比如我想从第28行开始读取,怎么办?                 (   也不要告诉我使用fgets循环28次   :)   )  
   
  多谢!!

NO.1   作者: Wingsun

不可能不这样计算的。

NO.2   作者: fireseed

in   Unix   system   the   return   charactor   is   \0x0A,   same   to   DOS.  
  in   Mac   system   it   is   \0x0D,   in   Windows   there   are   to   charactors   to   represent   return.  
   
  you   must   find   out   all   return   charactor,   and   counter   them.  
   
  but   some   thing   can   help   you,   like   std::string   and   stl::fstream

NO.3   作者: TR@SOE

Agree   with   fireseed.   You   must   let   the   system   to   parse   the   file.

NO.4   作者: TR@SOE

You   must   understand   the   basic   principle   of   a   text   file:   it   is   a   sequential   access   storage.   Unlike   database,   which   is   ramdon   access   storage,   you   must   iterate   to   get   to   a   point.

NO.5   作者: jishiping

没有捷径,必须一行一行的找。

NO.6   作者: kingcaiyao

只有扫描,判断行的结束符0x0a,用一计数器进行统计。

NO.7   作者: fireseed

靠!以为一脚踏进了银河系中心,这么多星星~  
   
  我就说我的三角和星怎么都没了。  
   
 

NO.8   作者: steedhorse

应该不会有捷径的。  
  你想,“找到第28行”这件事,要么由库函数来做,要么你自己做,但肯定不可能是CPU直接做,CPU要有那么聪明,机器人早就统治整个世界了。^_^  
  既然如此,这样的库函数有没有还有什么区别吗?唯一的区别就是库函数是别人写的,而如果你自己编函数,就是你自己写的。你自己省点力气而已,CPU一点也感觉不到。

NO.9   作者: yhz

steedhorse(晨星)说的对:  
  即使你用   TStringList   事实上系统也是这么一行行数下来的。  
   
  差别只是你自己数还是别人帮你数罢了。

NO.10   作者: zxm954712

I   agree   with   the   above.   You   must   find   it   one   by   one   .

NO.11   作者: ccrun

除非每行建个索引,记录了每一行的起始位置在文件中的绝对偏移值,就可以实现直接跳转到xx行之类的功能。


    摘要: 我想问几个tchart的问题,请大家帮忙,先谢了! 1、如何改x坐标的值 //增加四个点 void __fastcall tform1::button1click(tobject *sender) { series1->add(0,"1",clred); series1->add(10,"2",cllime); series1-&g......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE