Sponsored Content
Top Forums Programming erase fread 's internal buffer ? Post 302387514 by pludi on Saturday 16th of January 2010 01:56:02 PM
Old 01-16-2010
The problem isn't fread, but what you expect of it. According to the man page fread(3) it reads a certain amount of bytes from a file pointer, and copies them to a character array. It say nowhere that the target is cleared up front, or that it'll put a '\0' at the end, it leaves that to the programmer.

2 ways to solve this:
  1. memset(3) the array first
  2. fread returns the number of characters read. Put a '\0' behind that.
 

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(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 location given by ptr. For nonlocking counterparts, see unlocked_stdio(3). RETURN VALUE
On success, fread() and fwrite() return the number of items read or written. This number equals the number of bytes transferred only when size is 1. If an error occurs, or the end of the 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
C89, POSIX.1-2001. SEE ALSO
read(2), write(2), feof(3), ferror(3), unlocked_stdio(3) COLOPHON
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. GNU
2012-03-30 FREAD(3)
All times are GMT -4. The time now is 07:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy