| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 940 人关注过本帖
标题:求大神帮忙,文件操作程序
只看楼主 加入收藏
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
回复 10楼 寒风中的细雨
定位子函数的头和未都不成问题
现在的问题
一:是,怎么由file1的每一行字符串,提取出每个子字符串如:RecvPriBuf fuction.c 315;\" f  中的,我们要提取出这4个信息:RecvPriBuf(代表子函数名称)  fuction.c(代表子函数所在的.C文件) 315(代表子函数所在.c文件的行号) f(代表是个子函数)
二:怎么由file1提取的行号,在file2中定位
2012-11-20 13:29
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:2 
只能看,不懂说什么。
2012-11-20 13:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
以下是引用daniel_在2012-11-20 13:29:06的发言:

定位子函数的头和未都不成问题
现在的问题
一:是,怎么由file1的每一行字符串,提取出每个子字符串如:RecvPriBuf fuction.c 315;\" f  中的,我们要提取出这4个信息:RecvPriBuf(代表子函数名称)  fuction.c(代表子函数所在的.C文件) 315(代表子函数所在.c文件的行号) f(代表是个子函数)
二:怎么由file1提取的行号,在file2中定位

1.就用你前面找到的strtok()函数,仔细看用法就知道了。
2.打开文件数'\n'符的个数,那就是行数。

授人以渔,不授人以鱼。
2012-11-20 13:38
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
回复 13楼 TonyDeng
嗯 现在再看strtok
有个小问题  315;" 这个文件读取时能辨认出来么
在输入的时候我们是加转义字符的 这样写315;/"
2012-11-20 13:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不能自动辨认,因为你读取的都是字符串,是字符,要用isdigit()判断每个字符是不是十进制数字。你看那个源文件,第3列不是全部都是数字的,具体提取了子字符串之后,得到的东西是怎样的,最好人工审视一遍之后再决定程序的方案,因为源文件的数据可能千变万化,随时会出你意料之外。

授人以渔,不授人以鱼。
2012-11-20 13:48
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
回复 15楼 TonyDeng
我看了一下file1,四个子字符串用strtok貌似隔离不开的
1.若取strtok第二个参数为空字符"",我看了一下file1这个文件每行的空格有两个也有一个的,参数确定不了。
2.若取strtok第二个参数为";\"",仅能把改行分为两个部分而已。
----------

2012-11-20 14:17
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
回复 16楼 daniel_
这一楼  不明白你啥意思?

如果你是说一个文件或是目录名中可以存在空格  就像下面这样:

-rw-r--r--  1 hfzdxy hfzdxy      0 2012-11-19 22:37 bccn m.c

而不好使用 空格 作为分隔符的话  

你可以另设解决方案处理 没必要撞死在一个上面

2012-11-20 14:43
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
回复 16楼 daniel_
如果 一条记录中的四个字段  的长度是一定的   也就是说没个字段占位多少个字符是固定的(这叫做有规律)

完全可以  使用正则表达式  来读取数据  没必要这么纠结

使用fscanf()

但如果啥都不确定, 那你只能是自己另想方法解决了(办法总是有的)



2012-11-20 14:50
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:0 
回复 18楼 寒风中的细雨
版主加我QQ吧,貌似我把你们都说糊涂了
QQ791475556
2012-11-20 15:03
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
回复 19楼 daniel_
QQ 近期让公司给屏蔽了  
2012-11-20 15:06
快速回复:求大神帮忙,文件操作程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031972 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved