怎样才能打开文件并指向某一行呢?
我想用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文件。用什么控件??
- 打开文件




