lseek() equivalent


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers lseek() equivalent
# 1  
Old 11-08-2010
lseek() equivalent

I know there is lseek() function that will allow to write or read from certain position in the file. Is there similar function that will let do same but for array rather then file?
# 2  
Old 11-08-2010
Well, arrays seem to be inside languages, where you just reach out and touch them.

Perhaps you are asking about mmap()/mmap64(), which turn the file into a memory array so you never need to seek (and flush and reload buffers) ever again and you get the use of as much RAM as you can scrounge to hold most recently used pages, even if not currently mapped? JAVA has a similar facility, FileChannel. I suppose PERL can do this, perhpas calling mmap()/mmap64() directly. Solaris reads with mmap*() and it also is used in dynamic linking, so all users of a lib file have the same memory pages. If 40 people are running vi, why have 40 different copies in different VM/RAM locations?

Head and tail with character -c arguments do seek and read in the shell.
# 3  
Old 11-08-2010
Quote:
Originally Posted by joker40
I know there is lseek() function that will allow to write or read from certain position in the file. Is there similar function that will let do same but for array rather then file?
Why do you need to seek in an array at all? Memory is random-access.
# 4  
Old 11-08-2010
Array

I want to keep reading input from standard input and keep
putting it in array. For example..... Users types "hi". Now i
store this in array. Then user types "hello" I put this in the
same array. Now my array looks like this "hihello". I also need to have
empy char appended every time i put new string in array
# 5  
Old 11-08-2010
Keep an integer variable to track where to put data next.
# 6  
Old 11-08-2010
Yes but

Yes i can use sprintf which will return how many bytes storwd in array
But how would i put next string into array. Like what function can i use
# 7  
Old 11-08-2010
Where are these arrays, in C, shell, PERL, ???

Corona is saying you can put lines, each in one cell of an array shell variable, or the like.

In ksh, if you need the length of input without linefeeds, there are operators for string length. If you want part of the string, there are operators for sub-string extraction.
Code:
$ expr substr 1234567890 3 5      
34567
$

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Problem with lseek call.

The following code: int fd; if (fd = open("mem", O_RDONLY) == -1) return 1; if (lseek(fd, 0, SEEK_SET) == -1) { char *buf = malloc(512); buf = strerror(errno); printf("%s\n", buf); return 1; } always returns with "illegal seek"... (2 Replies)
Discussion started by: Sir_Tomasz
2 Replies

2. AIX

Backup: The lseek call failed

Hi, We are facing issues while backing up our 1205 GB filesystem on LTO5 Tape. During backup the "backup: The lseek call failed." messages were generated, I want to know why these messages were generating AIX version is: 6100-08-00-0000 backup: The date of this level 0 backup is Mon Mar 11... (4 Replies)
Discussion started by: m_raheelahmed
4 Replies

3. Programming

what is the main difference between difference between using nonatomic lseek and O_APPEND

I think both write at the end of the file ...... but is there a sharp difference between those 2 instruction ..... thank you this is my 3rd question today forgive me :D (1 Reply)
Discussion started by: fwrlfo
1 Replies

4. UNIX for Dummies Questions & Answers

Understanding lseek

I tried to use lseek system call to determine the number of bytes in a file. To do so, I used open system call with O_APPEND flag to open a file. As lseek returns the current offset so I called lseek for opened file with offset as zero and whence as SEEK_CUR. So I guess it must return the number of... (3 Replies)
Discussion started by: Deepak Raj
3 Replies

5. UNIX for Dummies Questions & Answers

Lseek implementation

Hi everybody, i've been googling for ages now and gotten kinda desperate... The question, however, might be rather trivial for the experts: What is it exactly, i.e. physically, the POSIX function (for a file) "lseek" does? Does it trigger some kind of synchronization on disk? Is it just for the... (4 Replies)
Discussion started by: Humudituu
4 Replies

6. Shell Programming and Scripting

need perl equivalent

Dear All, Good day, can any of you help me in the following problem: I need to find the perl equivalent for the following commandline grep characters |awk '{print \$2}'Expecting your reply and thanks in advance. Warm regards Fredrick. (4 Replies)
Discussion started by: Fredrick
4 Replies

7. Programming

Hairy Problem! lseek over 4G

recently my project needs me to lseek a position over 4G size.... i found in linux or unix the parameters are all ulong 32 bits...the limit dooms the movement of a position over 4G I was told that i should lseek64 to meet my need... but i have no idea where i can get the function neither by "man... (8 Replies)
Discussion started by: macroideal
8 Replies

8. Shell Programming and Scripting

ps ax equivalent in solaris

I am using "ps ax" command in one of my scripts . AIX has x flag for ps . is there any equilent command for ps ax in solaris ? Thanks (1 Reply)
Discussion started by: talashil
1 Replies

9. Programming

equivalent of sprintf in C++

Hi My requirement is to convert the following to C++ char buffer; sprintf(buffer,"%s %-50s %6s %-6d %s\n",a.substr(0,5),a.substr(10,20)) Since the buffer is of varying length, i cannot hardcode the value as 90. i would like to convert the buffer to string object so that it can receive any... (1 Reply)
Discussion started by: dhanamurthy
1 Replies

10. Programming

lseek in c

sir, i used lssek as this lseek(fp,-10,2); i am not getting any output i dont now why can you explan sir.. Thanks in advance, Arunkumar (4 Replies)
Discussion started by: arunkumar_mca
4 Replies
Login or Register to Ask a Question