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 ?
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)
I have a file that always generated in the system eg. /tmp/log.txt , it is generated by the application program , but this file should not be present in the system otherwise there are some program problem , I want to erase this file once the program has generate it , as I know , it can link to... (2 Replies)
Hi All,
These are the two ways i tried to read file but i getting work with second one not with the first.
char buf; // Defining space for buf
ctrlfnum = fopen(filename_arr.control_fname,"r");
1) n = fread(buf,sizeof(buf),1,ctrlfnum); ============== (not works)
2) n =... (4 Replies)
I know that Univ FileSystem stores all file data in the form of first few direct nodes followed by indirect nodes. But internally some systems implement where , a single block of 4096 isnt allocated alone a single block basis on physical drive, rather a large chunk of data is allocated and no. of... (1 Reply)
Hi,
I need to redirect internal internet requests to a auth client site siting on the gateway. Currently users that are authenticated to access the internet have there mac address listed in the FORWARD chain. All other users need to be redirected to a internal site for authentication.
Can... (1 Reply)
Hello All,
I tried to test a sample fread example to read a complete file
and the code is
#include <stdio.h>
#include <stdlib.h>
int main () {
FILE * pFile;
long lSize;
char * buffer;
size_t result;
pFile = fopen ( "test.xml" , "rb" );
if (pFile==NULL) {fputs ("File... (11 Replies)
Hello everybody i need to erase a at job that i write.
I wrote
at 22
at>execute a command
at>Ctr + d
How do i erase this? I don`t wan`t to do this. I need to change something
when i pressed ctrl + d give a job number (2 Replies)
Hello,
I have a question about what happens when I copy the file which is being written by another process on Solaris 9/SPARC, UFS file system.
in particular, I want to know what happens while some process is reading the file using fread or mmap, another process try to write something on the... (4 Replies)
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
LEARN ABOUT OPENSOLARIS
fread
fread(3C) Standard C Library Functions fread(3C)NAME
fread - binary input
SYNOPSIS
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream);
DESCRIPTION
The fread() function reads into the array pointed to by ptr up to nitems elements whose size is specified by size in bytes, from the stream
pointed to by stream. For each object, size calls are made to the fgetc(3C) function and the results stored, in the order read, in an array
of unsigned char exactly overlaying the object. The file-position indicator for the stream (if defined) is advanced by the number of bytes
successfully read. If an error occurs, the resulting value of the file-position indicator for the stream is unspecified. If a partial ele-
ment is read, its value is unspecified.
The fread() function may mark the st_atime field of the file associated with stream for update. The st_atime field will be marked for
update by the first successful execution of fgetc(3C), fgets(3C), fgetwc(3C), fgetws(3C), fread(), fscanf(3C), getc(3C), getchar(3C),
gets(3C), or scanf(3C) using stream that returns data not supplied by a prior call to ungetc(3C) or ungetwc(3C).
RETURN VALUES
Upon successful completion, fread() returns the number of elements successfully read, which is less than nitems only if a read error or
end-of-file is encountered. If size or nitems is 0, fread() returns 0 and the contents of the array and the state of the stream remain
unchanged. Otherwise, if a read error occurs, the error indicator for the stream is set and errno is set to indicate the error.
ERRORS
Refer to fgetc(3C).
EXAMPLES
Example 1 Reading from a Stream
The following example reads a single element from the fp stream into the array pointed to by buf.
#include <stdio.h>
...
size_t bytes_read;
char buf[100];
FILE *fp;
...
bytes_read = fread(buf, sizeof(buf), 1, fp);
...
USAGE
The ferror() or feof() functions must be used to distinguish between an error condition and end-of-file condition. See ferror(3C).
Because of possible differences in element length and byte ordering, files written using fwrite(3C) are application-dependent, and possibly
cannot be read using fread() by a different application or by the same application on a different processor.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO read(2), fclose(3C), ferror(3C), fopen(3C), getc(3C), gets(3C), printf(3C), putc(3C), puts(3C), attributes(5), standards(5)SunOS 5.11 24 Jul 2002 fread(3C)