Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fread(3) [netbsd man page]

FREAD(3)						   BSD Library Functions Manual 						  FREAD(3)

NAME
fread, fwrite -- binary stream input/output LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdio.h> size_t fread(void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream); size_t fwrite(const void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream); DESCRIPTION
The function fread() reads nmemb objects, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr. The function fwrite() writes nmemb objects, each size bytes long, to the stream pointed to by stream, obtaining them from the location given by ptr. Mixing fread() and fwrite() calls without setting the file position explicitly using fsetpos(3) between read and write or write and read operations will lead to unexpected results because of buffering the file pointer not being set to the expected position after each operation completes. This behavior is allowed by ANSI C for efficiency and it will not be changed. RETURN VALUES
The functions fread() and fwrite() advance the file position indicator for the stream by the number of bytes read or written. They return the number of objects read or written. If size or nmemb is 0, the functions return 0 and the state of stream remains unchanged. If an error occurs, or the end-of-file is reached, the return value is a short object count (or zero). The function fread() does not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred. The function fwrite() returns a value less than nmemb only if a write error has occurred. SEE ALSO
read(2), write(2) STANDARDS
The functions fread() and fwrite() conform to ANSI X3.159-1989 (``ANSI C89''). BSD
September 11, 2011 BSD

Check Out this Related Man Page

FREAD(3)						     Linux Programmer's Manual							  FREAD(3)

NAME
fread, fwrite - binary stream input/output SYNOPSIS
#include <stdio.h> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); DESCRIPTION
The function fread reads nmemb elements of data, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr. The function fwrite writes nmemb elements of data, each size bytes long, to the stream pointed to by stream, obtaining them from the loca- tion given by ptr. For non-locking counterparts, see unlocked_stdio(3). RETURN VALUE
fread and fwrite return the number of items successfully read or written (i.e., not the number of characters). If an error occurs, or the end-of-file is reached, the return value is a short item count (or zero). fread does not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred. CONFORMING TO
The functions fread and fwrite conform to ANSI X3.159-1989 (``ANSI C''). SEE ALSO
read(2), write(2), feof(3), ferror(3), unlocked_stdio(3) BSD MANPAGE
1996-05-17 FREAD(3)
Man Page

10 More Discussions You Might Find Interesting

1. Programming

Using fread if the buffer size is not known

Hi... I am trying to read a binary data that have different types of messages of different lengths. I am using fread() but this functions needs the size and count to read the buffer from the file. I think this may cause that the buffer overlaps other messages. Is there an alternative to read... (1 Reply)
Discussion started by: jlrodz
1 Replies

2. Programming

A problem of GCC

Hi mates, I am a new comer of this forums. I have a problem while using function "fread(buffer, size, number, file-pointer)" to read a binary file. While I used the "fread()" to read the binary file under Solaris UNIX System, it worked very well. But it gets a incorrect result... (6 Replies)
Discussion started by: cquedugdylp
6 Replies

3. Programming

Help -fwrite consuming lot of memory !!!

Hi , I am running a C/C++ program on a solaris 5.8 machine. This parituclar application has a module which saves data to a file. The module uses fwrite() function to save data. The fwrite function write about 500 MB of data to a file. The problem which I am facing is, the memory consumtion... (2 Replies)
Discussion started by: ajphaj
2 Replies

4. Programming

jumping to a specific line in a text file

hi everybody! i need to read a specific line from a text file using C. can any one suggest how to do it. 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?... (4 Replies)
Discussion started by: mridula
4 Replies

5. Programming

Another set of eyes

Original code used fwrite instead of putc. What is expected is that the destination file will be written to. Instead I end up with a zero length file. I'm sure there is something simple I'm missing. tia. #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char... (6 Replies)
Discussion started by: ramen_noodle
6 Replies

6. Programming

fwrite in Linux and UNIX

Hi I have an fwrite function in my C++ application. It is able to create the files in HP-UX. cross is one structure rec2 is another structure within cross. fwrite_return = fwrite( &cross.rec2, sizeof(cross.rec2), ... (14 Replies)
Discussion started by: rkraj
14 Replies

7. Programming

erase fread 's internal buffer ?

When fread is used twice, the second time it seems to overwrite the first time's output. Is there any way to clear fread's internal buffer after each use ? char *FILEREAD(const char *FILENAME) { static char READBUFFER = ""; READBUFFER = '\0'; // try to solve the problem but this will not... (2 Replies)
Discussion started by: limmer
2 Replies

8. Programming

Atomic Read and Write with stdio

hi guys. can we use fread and fwrite with pipes to write data more than PIPE_BUF atomically since they lock FILE object until I/O operation finish? (1 Reply)
Discussion started by: majid.merkava
1 Replies

9. Programming

The fwrite function is not returning error, if the file was removed.

The fwrite function call is not returning error, when the file it writes to is removed, please advise on how to find if the file already opened and being written by a program is removed manually or by some other process. please see the code below, #include<stdio.h> #include<stdlib.h> ... (3 Replies)
Discussion started by: Kesavan
3 Replies

10. Programming

Malloc problem with fread() to read file to structure in C

Hello, I am trying to read a text file into linked list, but always got the first and last records wrong. 1) The problem looks related to the initialization of the node temp with malloc(), but could not figure it out. No error/warning at compiling, though. 2) The output file is empty,... (10 Replies)
Discussion started by: yifangt
10 Replies