Answer Posted / chauhan rakesh botad
The flushall function flushes all streams.
flushall clears all buffers associated with open input
streams and writes all buffers associated with open output
streams to their respective files. Any read operation
following flushall reads new data into the buffers from the
input files. Streams stay open after flushall executes.
Return Value
flushall returns an integer the number of open input and
output streams.
This is used to clear the buffer memory...for eg.we use
flush(stdin) before the getch() command and scanf command so
as to clear the memory space...sometimes it happens that
getch() takes 'enter' as a character ...to avoid this we use
the flush functions.
flushall clear any data in stream. it doesnt mean data gets
lost, instead all buffered data process and sent to target
output source.
like writing to a file using filestread and if we have write
some data in stream which is in buffer but not written in
file. as you call flushall it will write all data to file
and then clear the buffer(i.e memory space).
The fflush() and flushall() functions in the C run-time
library do not write file changes directly to disk. These
functions flush the file buffers provided by the library;
they do not flush the buffers the MS-DOS, OS/2, or Windows
NT operating systems provide at the system level. For
example, if an application calls fflush() but MS-DOS does
not write its buffers to disk before a system crash (or
equivalent event), information may still be lost. To address
this situation in MS-DOS, use the _commit() function after
you call fflush() or fflushall(). Calling _commit() causes
the operating system to flush to disk the buffer associated
with a file handle.
The OS/2 operating system provides two separate functions,
depending on the installed version of OS/2. In 16-bit OS/2
(versions 1.x), use the DosBufReset() function. In 32-bit
OS/2 (version 2.0), use the DosResetBuffer() function.
The Windows NT operating system provides the WIN32 API
FlushFileBuffers(). The _commit() function included with the
Visual C++ 32-bit Edition CRT calls FlushFileBuffers to
write buffered data to disk.
Microsoft C/C++ version 7.0 introduces the "c" mode option
for the fopen() function. When an application opens a file
and specifies the "c" mode, the run-time library writes the
contents of the file buffer to disk when the application
calls the fflush() or _flushall() function. The "c" mode
option is a Microsoft extension and is not part of the ANSI
standard for fopen().
To change the default behavior of the fflush() and
_flushall() functions, link your application with the
COMMODE.OBJ file provided by the products listed at the
beginning of this article. COMMODE.OBJ changes the global
commit flag such that calling fflush() or _flushall()
commits the file buffer to disk. This flag tells fflush() to
call _commit() to flush the low- level file when the stream
is flushed and _commit() in turn calls _dos_commit() for the
MS-DOS level file. By default flushing a stream does not
flush the low-level and MS-DOS level files.
| Is This Answer Correct ? | 19 Yes | 1 No |
Post New Answer View All Answers
What happens if header file is included twice?
What does 2n 4c mean?
What Is The Difference Between Null And Void Pointer?
What is the difference between local variable and global variable in c?
The purpose of this exercise is to benchmark file writing and reading speed. This exercise is divided into two parts. a). Write a file character by character such that the total file size becomes approximately >10K. After writing close the file handler, open a new stream and read the file character by character. Record both times. Execute this exercise at least 4 times b). Create a buffer capable of storing 100 characters. Now after generating the characters, first store them in the buffer. Once the buffer is filled up, store all the elements in the file. Repeat the process until the total file size becomes approximately >10K.While reading read a while line, store it in buffer and once buffer gets filled up, display the whole buffer. Repeat the exercise at least 4 times with different size of buffer (50, 100, 150 …). Records the times. c). Do an analysis of the differences in times and submit it in class.
Is it possible to pass an entire structure to functions?
Explain indirection?
What are the main characteristics of c language describe the structure of ac program?
which of the following is not a character constant a) 'thank you' b) 'enter values of p, n ,r' c) '23.56E-o3' d) all of the above
Why c is a mother language?
A set of N billiard balls are set on a one-dimensional table. The table is 1 meter long, set north-south with two pockets at either side. Each ball has zero width and there is no friction so it is moving with a fixed velocity of either northward or southward and bounces back in a perfect elastic collision from other balls it encounter on its way (or drop into one of the pockets). Your job is to keep track of the balls movements. Task Please write a program that gets the initial place, speed and direction of all the balls and gives the position of a specific ball after t seconds. Input The first line contains the number of scenarios. Each one of the other lines in the input contains a scenario: The first number, N, is the number of balls; followed by N pairs of numbers: the distance in centimeters from the south end of the table and the speed (positive speed meaning it moves northward); the last two numbers are the number i of the target ball you should track and the time T in seconds. Output The output is a single number for each line which is the place (distance in centimeters from the south end of the table) of the tracked ball after T seconds. Note: There is no new line character at the end of the result. Sample Input 5 1 50 1 1 1000 1 50 1 1 6 1 60 -2 1 6 2 10 1 95 -1 2 30 2 10 1 95 -1 2 60 Sample Output 100 56 48 65 70
What is a pointer and how it is initialized?
how to count no of words,characters,lines in a paragraph.
What is getch c?
Describe explain how arrays can be passed to a user defined function