Re: seek within a large file
From: Gerhard W. Gruber (sparhawk_at_gmx.at)
Date: Fri, 17 Oct 2003 21:57:59 +0200
On Fri, 17 Oct 2003 10:40:16 -0700 wrote Paul Lutus <firstname.lastname@example.org> in
comp.os.linux.misc with <email@example.com>
>It is ultimately a C programming issue.
Not really. If he would call the read function from assembly it would be still
the same problem, but then it would be an assembly language question? Couldn't
be so. The problem is not with the name of the function, but what it doesn,
and that is the task of the operating system to provide. He is not asking what
the defined functionality is that is behind this function. If so then it would
be a C question, because then you can answer him, what the standard says what
this function should do. He is asking about an implementation detail, which is
most surely handled by the driver of the file system and which is no part of
the defined standard. As such it is a driver question, which makes it
operating system specific.
>> If he has to support multiple OS's and rely on that feature, then I would
>> suggest testing it, and check if this is really as he needs it. If not,
>> then he must find non-portable ways to achieve it an all targe platforms.
That's the way of cross platform programming. :) Even if the standard would
say the function may not read sequentially until it hits the offest, it could
easily be that he finds a system where it is still implemented this way. So
there is no way around testing on the target platform.
I once used printf in a way I normally didn't and it worked because I read the
man page about it. Unfortunately I didn't know that there are differences
between BSD and System V Unix versions. So you can not even rely with such a
basic standard function to support all features, you may need, on all
>But it is what one should expect to get in a non-programming newsgroup.
:) That is true. :)
-- Gerhard Gruber Für jedes menschliche Problem gibt es immer eine einfache Lösung: Klar, einleuchtend und falsch. (Henry Louis Mencken)