Sponsored Content
Top Forums Programming erase fread 's internal buffer ? Post 302387511 by limmer on Saturday 16th of January 2010 01:27:40 PM
Old 01-16-2010
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 ?

Code:
char *FILEREAD(const char *FILENAME)
{
    static char READBUFFER[15001] = "";
READBUFFER[0] = '\0'; // try to solve the problem but this will not

    FILE *FILE1 = fopen(FILENAME, "r");

    fread(READBUFFER, 1, 15000, FILE1);

    fclose(FILE1);

    return READBUFFER;
}

int main(void)
{
printf("%s\n", FILEREAD("file1.txt")); // file content is: "wwwww" and FILEREAD outputs "wwwww"
printf("%s\n", FILEREAD("file2.txt")); // file content is: "aaa" and FILEREAD outputs "aaaww"

return 0;
}

 

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. UNIX for Dummies Questions & Answers

erase file

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)
Discussion started by: ust
2 Replies

3. Programming

problem in reading file using fread

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)
Discussion started by: arunkumar_mca
4 Replies

4. UNIX for Advanced & Expert Users

stty erase r

after hitting this command...on pressing r acts as a backspace character.... how to disable this function (5 Replies)
Discussion started by: bishweshwar
5 Replies

5. UNIX for Advanced & Expert Users

Linux FileSystem Internal Buffer size:

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)
Discussion started by: GloriousDaisy
1 Replies

6. UNIX for Advanced & Expert Users

Forwarding internal internet packets to internal webserver using iptables

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)
Discussion started by: mshindo
1 Replies

7. Programming

fread: segementation fault(coredump) w/o stdlib.h

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)
Discussion started by: quintet
11 Replies

8. UNIX for Dummies Questions & Answers

Erase an at job

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)
Discussion started by: enkei17
2 Replies

9. Programming

What happens fwrite/fread at the same time?

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)
Discussion started by: wipe3out
4 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
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)
All times are GMT -4. The time now is 06:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy