CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

怎样才能打开文件并指向某一行呢?

楼主jinspring(阳光男孩)2001-12-20 20:57:35 在 C/C++ / C语言 提问

我想用VC6++打开一个C文件并指到某一行。怎么办呢?先谢了! 问题点数:30、回复次数:27Top

1 楼jinspring(阳光男孩)回复于 2001-12-20 21:58:50 得分 0

不会没有人知道吧?各位大虾帮帮忙啊。Top

2 楼sayu_yangyou(√)回复于 2001-12-20 23:49:59 得分 0

是编程实现吗。如果是,请发信:sayu.bbs@bbs.cumt.edu.cnTop

3 楼jinspring(阳光男孩)回复于 2001-12-21 20:24:28 得分 0

是编程实现。我打算用winexec()来通过vc++打开c文件,可是不能指定到哪一行。望赐教。Top

4 楼jinspring(阳光男孩)回复于 2001-12-28 18:37:47 得分 0

难道真的没有办法吗?Top

5 楼idAnts(此广告位招租)回复于 2001-12-28 19:14:44 得分 0

判断几个回车换行吧,就是4d5a.  
  一点愚见.Top

6 楼sayu_yangyou(√)回复于 2001-12-28 20:33:09 得分 0

如果用CStdioFile打开的话,那一次ReadString()就读取一行数据,你想读取哪一行的数据,多读几次就可以了。Top

7 楼jakelove(宁静依然)回复于 2001-12-28 20:39:10 得分 0

判断行就等于判断是否遇到回车了.Top

8 楼sayu_yangyou(√)回复于 2001-12-30 10:55:28 得分 0

没错,就是判断回车。Top

9 楼jinspring(阳光男孩)回复于 2001-12-31 12:32:35 得分 0

可我是要用VC6++来打开呀。也可以吗?如果只是打开*.txt文件的话,就简单多了。Top

10 楼xw1021(恶魔戒指)回复于 2001-12-31 13:35:06 得分 0

打开什么类型的文件都一样啊,反正你是判断是否有‘\n'  
  都以二进制形式打开就好了!Top

11 楼helloeveryone(不会种地)回复于 2001-12-31 13:49:31 得分 0

那要看你的文件格式。  
  如果是非正规的,如平常的文本文件,只能是每次读入一行计数,或全读进再数行结束符的个数。  
  正规的,大概不是你所说的情况,全读进来象处理二维数组一样就行了。  
   
  当然,如频繁处理,一行的个数也是有限的话(一般的文本文件理论上是无限的),也可以读进来后,映射到二维数组处理(不,是string   数组更好)。Top

12 楼jellimy()回复于 2001-12-31 14:11:00 得分 5

比如打开文件aaa.txt,并指到第二行。  
  int   rownumber   =   0;  
  fp   =   fopen("aaa.txt","r");  
  while((feof(fp)     ==   0)   &&   (irownumber   <   1)){    
          pTemp   =   malloc(LINE_MAX);  
          if(fgets(pTemp,LINE_MAX,fp)){  
              rownumber   ++;  
          }  
          if(pTemp)  
              free(pTemp);  
      }  
  return   fp;  
  Top

13 楼wulbur(油门大虾)回复于 2001-12-31 16:09:23 得分 0

fgets就是读行的函数,   计数吧Top

14 楼jinspring(阳光男孩)回复于 2001-12-31 16:24:31 得分 0

可我是用winexec("msdnc     my.c",SW_SHOW)来打开my.c。所以不能用CFile.Open();否则就简单多了。Top

15 楼net_star(小石)回复于 2001-12-31 17:31:31 得分 0

不行把,VC没有这个参数吧。  
  我知道在UtralEdit打开文件可以指定一行一列,VC以前找过不行的。  
  Top

16 楼jinspring(阳光男孩)回复于 2002-01-02 22:25:32 得分 0

可是我觉得windows里处理这样的情况很多啊。怎么会没有这样的函数呢?  
  希望知道者能告之。Top

17 楼bary1980(碧眼狐狸)回复于 2002-01-02 23:45:26 得分 5

FILE*   fp=fopen(...)  
  int   i=1;//指定第n行;  
  char*   p;  
  for(;i<n;i++)  
  getline(p,80);//一般一行不会超过80个字符,但是有的例外,看你的文件了  
  这时文件指针在第n行开头  
   
  Top

18 楼tjm()回复于 2002-01-03 01:22:40 得分 0

kkTop

19 楼jinspring(阳光男孩)回复于 2002-01-03 16:08:26 得分 0

好象现在大家回答都不是我所想要得到的。不知道有那位大虾以前做过这方面的东东。望赐教!Top

20 楼jinspring(阳光男孩)回复于 2002-01-07 16:32:17 得分 0

i   am   so   disappointed.can   somebody   help   me?Top

21 楼jinspring(阳光男孩)回复于 2002-01-18 15:49:15 得分 0

can   somebody   help   me?thanks!Top

22 楼tief(但求中庸)回复于 2002-01-18 16:19:05 得分 0

有一种折中的解决方案,由于你打开的程序是固定的,那么被打开程序的窗口名字肯定是已知的,这样你就可以使用FindWindowEx来获得这个窗体的hWnd。获得后,你向这个窗体发送WM_CHAR消息,当然指定为方向键“下箭头”。如果是第8行就发送7次,总之是第n行就发送n-1次:)Top

23 楼jinspring(阳光男孩)回复于 2002-01-21 22:18:30 得分 0

好象不错的说,明天我试试,多谢了!Top

24 楼tief(但求中庸)回复于 2002-01-22 09:19:19 得分 0

呵呵,成功了要给分啊~~~:P   Top

25 楼jinspring(阳光男孩)回复于 2002-01-22 21:06:07 得分 0

可是,我得不的到那个窗口名字啊。因为我是用winexec()来打开一个窗口的。Top

26 楼tief(但求中庸)回复于 2002-01-23 09:06:56 得分 20

可以找到,就是窗口的WindowText或者说Title,笨方法:  
  用眼睛看就知道拉。比如你用UltraEdit,打开的是XXX.cpp,那么窗口标题就是:  
   
  EltraEdit32   -   [Drive:\Path\XXX.cpp]  
  Top

27 楼jinspring(阳光男孩)回复于 2002-01-25 12:04:12 得分 0

非常感谢!Top

相关问题

  • 怎么打开一个.txt文件,然后一行一行读取?
  • 怎样打开文本文件,并读去其中一行?
  • 100分求助:如何用文件映射方法打开文本文件然后一行一行的读?
  • 请问如何用VC打开一个文本文件然后在打开文件的第一行加入一行或一段文字?
  • 急,我用TextStream对象打开一个文本文件一行一行的读出数据,可用SkipLine方法,怎么不是一行一行的读呢?
  • 打开hosts文件后,如何找到某一行数据,并进行修改?
  • 如何让打开的文本文件第一行不成为datagrid列标题
  • 写一批处理文件,运行该文件可以打开IE,并且指向www.csdn.net。
  • 如何打开txt文件??而且一行一行的读出??还有如何选择一个txt文件。用什么控件??
  • 打开文件

关键词

  • 文件
  • vc
  • 一行
  • 打开
  • 数组
  • 话
  • txt

得分解答快速导航

  • 帖主:jinspring
  • jellimy
  • bary1980
  • tief

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo