fgets() in C Last Updated : 23 Apr, 2025 Comments Improve Suggest changes Like Article Like Report In C, fgets() is a built-in function defined in <stdio.h> header file. It reads the given number of characters of a line from the input stream and stores it into the specified string. This function stops reading the characters when it encounters a newline character, has read the given number of characters, or reaches the end-of-file (EOF).Example: C #include <stdio.h> int main() { char buff[100]; int n = 10; printf("Enter a string: \n"); // Read input from the user fgets(buff, n, stdin); printf("You entered: %s", buff); return 0; } OutputEnter a string: This is Geeks {entered by user} You entered: This is GeeksExplanation : In this program, fgets() reads will read up to 9 characters or until a newline (\n) is encountered from the standard input (stdin) and stores them in the array buff, ensuring it is null-terminated.Syntax C fgets(buff, n, stream); Parameters:buff: Pointer to the string buffer where the input will be stored.n: The maximum number of characters to read (including the null terminator).stream: The input stream, typically stdin for reading from the keyboard.Return Value:Returns the pointer to buff if successful.Returns NULL if an error occurs or the end-of-file (EOF) is reached.Examples of fgets()The following examples demonstrate how to use the fgets() function in C programs:Reading from a File C #include <stdio.h> int main() { FILE *fptr = fopen("in.txt", "r"); // Reading the file data using fgets() in the // form of a block of size 30 bytes char buff[30]; fgets(buff, sizeof(buff), fptr); printf("%s", buff); fclose(fptr); return 0; } Assume that in.txt contains the following data:The quick brown fox jumps over the lazy dog. This sentence contains all letters of English Alphabets.Output:The quick brown fox jumpsReading from Keyboard ( User Input ) C #include <stdio.h> #include <string.h> int main() { char name[20]; printf("Enter your name: \n"); fgets(name, sizeof(name), stdin); printf("Hello, %s", name); return 0; } OutputEnter your name: Abhishek //Entered by user Hello, Abhishekgets() vs fgets()Following table lists the primary differences between the gets() and fgets() functions:Aspectgets()fgets()Buffer Size ControlNo size control so may lead to buffer overflow.Allows size control preventing buffer overflow.Newline HandlingDiscards newline character.Retains newline character.Input SourceCan read from stdin only.Can read from any input stream including stdin.Error HandlingCannot detect errors or EOF so no way to handle read failures.Returns NULL on error or EOF so can handle read failure efficiently.StatusDeprecated in C11 and later.Recommended and widely used. Comment More infoAdvertise with us Next Article fprintf() in C K Kanchan_Ray Follow Improve Article Tags : C Language misc C-File Handling Practice Tags : Misc Similar Reads Basics of File Handling in C File handling in C is the process in which we create, open, read, write, and close operations on a file. C language provides different functions such as fopen(), fwrite(), fread(), fseek(), fprintf(), etc. to perform input, output, and many different C file operations in our program.Need of File Han 13 min read C fopen() Function In C, the fopen() function is used to open a file in the specified mode. The function returns a file pointer (FILE *) which is used to perform further operations on the file, such as reading from or writing to it. If the file exists then the fopen() function opens the particular file else a new file 5 min read EOF, getc() and feof() in C In this article, we will discuss the EOF, getc() function and feof() function in C.What is EOF?In C, EOF is a constant macro defined in the <stdlib.h> header file that is used to denote the end of the file in C file handling. It is used by various file reading functions such as fread(), gets() 3 min read fgets() in C In C, fgets() is a built-in function defined in <stdio.h> header file. It reads the given number of characters of a line from the input stream and stores it into the specified string. This function stops reading the characters when it encounters a newline character, has read the given number o 3 min read fprintf() in C fprintf is used to print content in file instead of stdout console. int fprintf(FILE *fptr, const char *str, ...); Example: C // C Program for the above approach #include<stdio.h> int main() { int i, n=2; char str[50]; //open file sample.txt in write mode FILE *fptr = fopen("sample.txt 1 min read scanf() and fscanf() in C In C language, scanf() function is used to read formatted input from stdin. It returns the whole number of characters written in it otherwise, returns a negative value.Syntax:int scanf(const char *characters_set)Time Complexity: O(n)Auxiliary Space: O(n) where n is the length of input.Many of us kno 4 min read C fread() Function The C fread() is a standard library function used to read the given amount of data from a file stream. Defined inside <stdio.h>, the fread() function reads the given number of elements of specific size from the file stream and stores it in the buffer memory. The total number of bytes read by f 4 min read fseek() vs rewind() in C In C, the functions fseek() and rewind() helps in manipulating the position of the pointer in the opened file but serve different purposes and have distinct working. The below table lists the major differences between fseek() and rewind() in C:Featurefseek()rewind()FunctionalityMoves the file pointe 2 min read What is return type of getchar(), fgetc() and getc() ? In C, getchar(), fgetc(), and getc() all are the functions used for reading characters from input buffer. This buffer is standard input buffer for getchar() and can be any specified file for getc() and fgetc(). In this article, we will learn about the return type of these functions and why it matter 3 min read Read/Write Structure From/to a File in C For writing in the file, it is easy to write string or int to file using fprintf and putc, but you might have faced difficulty when writing contents of the struct. fwrite and fread make tasks easier when you want to write and read blocks of data.Writing Structure to a File using fwriteWe can use fwr 3 min read Like