由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Linux版 - C 89的话,怎么方便的把一个文件的行重排
相关主题
如何实现这个想法,关于修改txt文件的请教怎样截取文本中的一段
Perl问题求助想要系统的学习Linux的原理,有什么好推荐?
perl pack question如何指定QTreeWidgetItem中某个child的delegate?
linux下能否远程访问文件为什么我的python code总是显示D
可读出硬盘文件表吗?如何把文件按行分割成几个文件
请问如何在windows下解压缩.gz文件问一个C Shell的sed用法。
fscanf is messyeditor 自动定义颜色?
有regex / apache rewrite rule 高手吗awk判断多列是否相等
相关话题的讨论汇总
话题: 文件话题: 重排话题: 89话题: suggest话题: fgets
进入Linux版参与讨论
1 (共1页)
G**Y
发帖数: 33224
1
比如一个文件有1000000行,
很大很多行,
可能一下装不到内存里,
现在要把行重排,
新行序是知道的,
怎么作最有效呀。
C的文件是不是只能顺序读呀?
那不是一个文件要打开关闭很多次?
如果是perl,会不会好些。
我可以把想要的行序写到一个文件里。
E*V
发帖数: 17544
2
ft
you fopen a file does not mean you load the whole part into memory
i suggest you read apue

【在 G**Y 的大作中提到】
: 比如一个文件有1000000行,
: 很大很多行,
: 可能一下装不到内存里,
: 现在要把行重排,
: 新行序是知道的,
: 怎么作最有效呀。
: C的文件是不是只能顺序读呀?
: 那不是一个文件要打开关闭很多次?
: 如果是perl,会不会好些。
: 我可以把想要的行序写到一个文件里。

G**Y
发帖数: 33224
3
但是C文件是顺序读取的,
比如我要把文件按这个顺序重排
1
1001
2001
。。。
2
1002
2002
。。。
还是很麻烦呀,
C似乎不能直接读指定行,
必须用loop跳过?

【在 E*V 的大作中提到】
: ft
: you fopen a file does not mean you load the whole part into memory
: i suggest you read apue

N****w
发帖数: 21578
4
你转行学 CS 的?

【在 G**Y 的大作中提到】
: 但是C文件是顺序读取的,
: 比如我要把文件按这个顺序重排
: 1
: 1001
: 2001
: 。。。
: 2
: 1002
: 2002
: 。。。

G**Y
发帖数: 33224
5
似乎要
fseek + byte-address index?
这样就可以随便读取任意行了?

【在 G**Y 的大作中提到】
: 但是C文件是顺序读取的,
: 比如我要把文件按这个顺序重排
: 1
: 1001
: 2001
: 。。。
: 2
: 1002
: 2002
: 。。。

N****w
发帖数: 21578
6
fgets 吧
就看读进来的你怎么处理

【在 G**Y 的大作中提到】
: 似乎要
: fseek + byte-address index?
: 这样就可以随便读取任意行了?

G**Y
发帖数: 33224
7
我是自学CS的。呵呵。
C的文件操作似乎确实很弱。

【在 N****w 的大作中提到】
: 你转行学 CS 的?
N****w
发帖数: 21578
8
找个教程看几章。。。

【在 G**Y 的大作中提到】
: 我是自学CS的。呵呵。
: C的文件操作似乎确实很弱。

G**Y
发帖数: 33224
9
几百兆的文件,也fgets?
不过对进来还是得search,match啥的。

【在 N****w 的大作中提到】
: fgets 吧
: 就看读进来的你怎么处理

N****w
发帖数: 21578
10
那就随便你怎么搞了
不想都放内存里,就读两遍吧
第一遍把每行在什么位置、长度记下来,也可以不用读,光用 fscanf 找行尾
再读一遍的时候,算出每行该写到目标文件的什么位置,写之

【在 G**Y 的大作中提到】
: 几百兆的文件,也fgets?
: 不过对进来还是得search,match啥的。

E*V
发帖数: 17544
11
I strongly suggest that you read some book
regarding C

【在 G**Y 的大作中提到】
: 几百兆的文件,也fgets?
: 不过对进来还是得search,match啥的。

1 (共1页)
进入Linux版参与讨论
相关主题
awk判断多列是否相等可读出硬盘文件表吗?
Mono Wins Product of the Year Award请问如何在windows下解压缩.gz文件
Windows XP下如何读取Ubuntu Linux里的文件?fscanf is messy
小的desktop商业软件: 如何注册收费?有regex / apache rewrite rule 高手吗
如何实现这个想法,关于修改txt文件的请教怎样截取文本中的一段
Perl问题求助想要系统的学习Linux的原理,有什么好推荐?
perl pack question如何指定QTreeWidgetItem中某个child的delegate?
linux下能否远程访问文件为什么我的python code总是显示D
相关话题的讨论汇总
话题: 文件话题: 重排话题: 89话题: suggest话题: fgets