fgets()
Read a string of characters from a stream
Synopsis:
#include <stdio.h> char* fgets( char* buf, size_t n, FILE* fp );
Since:
BlackBerry 10.0.0
Arguments:
- buf
- A pointer to a buffer in which fgets() can store the characters that it reads.
- n
- The maximum number of characters to read.
- fp
- The stream from which to read the characters.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The fgets() function reads a string of characters from the stream specified by fp, and stores them in the array specified by buf.
It stops reading characters when:
- the end-of-file is reached
Or:
- a newline ('\n') character is read
Or:
- n-1 characters have been read.
The newline character isn't discarded. A null character is placed immediately after the last character read into the array.
Don't assume that there's a newline character in every string that you read with fgets(). A newline character isn't present if there are more than n-1 characters before the newline.
Also, a newline character might not appear as the last character in a file when the end-of-file is reached.
Returns:
The same pointer as buf, or NULL if the stream is at the end-of-file or an error occurs ( errno is set).
Examples:
#include <stdio.h> #include <stdlib.h> int main( void ) { FILE *fp; char buffer[80]; fp = fopen( "file", "r" ); if( fp != NULL ) { while( fgets( buffer, 80, fp ) != NULL ) { fputs( buffer, stdout ); } fclose( fp ); return EXIT_SUCCESS; } return EXIT_FAILURE; }
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
Last modified: 2014-06-24