09-16-2005
Quote:
Originally Posted by mridula
i m aware abt fread(), fwrite(), fseek()... but using these allows the pointer to be moved 1 character at a time. Is there a way i could jump directly to a line if i know the line number?
not so !
with fseek - file pointer can be repositioned anywhere within the file
if the file records are of standard length ( for ex: each and every line of the file contains x chars)
then to switch to nth line
fseek(filePtr, (n * x) + 1, SEEK_CUR);
(assuming \n as the default line separator in the file)
SEEK_CUR is the whence position.
use
man fseek you will get the required info
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I wanted to add specific text to each row in a text file containing three rows. Example:
0 8 7 6 5 5
7 8 9 0 7 9
7 8 9 0 1 2
And I want to add a 21 at the beginning of the first row, and blank spaces at the beginning of the second two rows. To get this:
21 0 8 7 6 5 5
7 8... (4 Replies)
Discussion started by: hertingm
4 Replies
2. Shell Programming and Scripting
Given a text file, how do you add a line of text after a specific line number? I believe I would want to use "sed" but I am unsure of the syntax. Thank you.
Mike (5 Replies)
Discussion started by: msb65
5 Replies
3. Shell Programming and Scripting
this is utterly embarassing :(
after posting here i revisited my files and found that when i used "vi" instead of a gui based editor, i suddenly found that the indentations were in fact wrong :(
sorry about this :( (0 Replies)
Discussion started by: mocca
0 Replies
4. Shell Programming and Scripting
hello,
I have got the following problem that I am hoping someone can help with please.
1. I have got the following text file (below) , the columns data are
'Test Day', 'Board', 'Betting Number'.
TEXT FILE
============================================
1 3 02-01-27-28-29-30
0 1... (1 Reply)
Discussion started by: jermaine4ever
1 Replies
5. Shell Programming and Scripting
Hello,
I have a problem which is giving me headache for days, can some please help. Please see code and text fiel below. Please see text in red for the problem I am facing
# Program gets an input x from user
while read line ; do
echo... (4 Replies)
Discussion started by: jermaine4ever
4 Replies
6. Programming
Hi,
I have an output file which has more than 1,000,000,000 lines. I am accessing this file in another C++ program. Now while accessing the output file using cin, I want to jump, say, to the 5,000,000th line directly and start accessing data from there. Is this possible? Could someone please... (4 Replies)
Discussion started by: mugga
4 Replies
7. UNIX for Dummies Questions & Answers
Hi all, I have a script which uses a basic line to add text into another file e.g.
grep -i test * >> test.txt
Is there a way I can get the output of the grep to output to a specific line in the text.txt for example output above the line starting "Bottom line..." (6 Replies)
Discussion started by: JayC89
6 Replies
8. Linux
Hello! All,
Could you please tell me how to get a specific line number from a text file?
For example below,
ABC
DEF ---> Get this line number, return to an variable
GHI
My OS is Linux.
Thank you so much for your help in advance! (3 Replies)
Discussion started by: barryxian
3 Replies
9. Shell Programming and Scripting
I have a text file like this:
subject1:LecturerA:10
subject2:LecturerA:40
if I was given string in column 1 and 2 (which are subject 1 and LecturerA) , i need to update 3rd field of that line containing that given string , which is, number 10 need to be updated to 100 ,for example.
The... (6 Replies)
Discussion started by: bmtoan
6 Replies
10. Shell Programming and Scripting
Hi
This is my first post and I'm just a beginner. So please be nice to me.
I have a couple of html files where a pattern beginning with "http://www.site.com" and ending with "/resource.dat" is present on every 241st line. How do I extract this to a new text file?
I have tried sed -n 241,241p... (13 Replies)
Discussion started by: dejavo
13 Replies
LEARN ABOUT REDHAT
fsetpos
FSEEK(3) Linux Programmer's Manual FSEEK(3)
NAME
fgetpos, fseek, fsetpos, ftell, rewind - reposition a stream
SYNOPSIS
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
long ftell(FILE *stream);
void rewind(FILE *stream);
int fgetpos(FILE *stream, fpos_t *pos);
int fsetpos(FILE *stream, fpos_t *pos);
DESCRIPTION
The fseek function sets the file position indicator for the stream pointed to by stream. The new position, measured in bytes, is obtained
by adding offset bytes to the position specified by whence. If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to
the start of the file, the current position indicator, or end-of-file, respectively. A successful call to the fseek function clears the
end-of-file indicator for the stream and undoes any effects of the ungetc(3) function on the same stream.
The ftell function obtains the current value of the file position indicator for the stream pointed to by stream.
The rewind function sets the file position indicator for the stream pointed to by stream to the beginning of the file. It is equivalent
to:
(void)fseek(stream, 0L, SEEK_SET)
except that the error indicator for the stream is also cleared (see clearerr(3)).
The fgetpos and fsetpos functions are alternate interfaces equivalent to ftell and fseek (with whence set to SEEK_SET), setting and storing
the current value of the file offset into or from the object referenced by pos. On some non-UNIX systems an fpos_t object may be a complex
object and these routines may be the only way to portably reposition a text stream.
RETURN VALUE
The rewind function returns no value. Upon successful completion, fgetpos, fseek, fsetpos return 0, and ftell returns the current offset.
Otherwise, -1 is returned and the global variable errno is set to indicate the error.
ERRORS
EBADF The stream specified is not a seekable stream.
EINVAL The whence argument to fseek was not SEEK_SET, SEEK_END, or SEEK_CUR.
The function fgetpos, fseek, fsetpos, and ftell may also fail and set errno for any of the errors specified for the routines fflush(3),
fstat(2), lseek(2), and malloc(3).
CONFORMING TO
The fgetpos, fsetpos, fseek, ftell, and rewind functions conform to ANSI X3.159-1989 (``ANSI C'').
SEE ALSO
lseek(2), fseeko(3)
BSD MANPAGE
1993-11-29 FSEEK(3)