C fgetc() function
C library function - fgetc()
The fgetc() function is used to read a single unsigned character from the input stream at the current position and increases the associated file pointer, if any, so that it points to the next character.
Syntax:
int fgetc(FILE *stream)
Parameters:
Name | Description | Required /Optional |
---|---|---|
stream | Identifies an address for a file descriptor, which is an area of memory associated with an input or output stream. | Required |
Return value
- Upon successful completion, fgetc() shall return the next byte from the input stream pointed to by stream.
- If the end-of-file indicator for the stream is set, or if the stream is at end-of-file, the end-of-file indicator for the stream shall be set and fgetc() shall return EOF.
Example: fgetc() function
The following example gathers a line of input from a stream:
#include <stdio.h>
#define MAX_LEN 80
int main(void)
{
FILE *stream;
char buffer[MAX_LEN + 1];
int i, c;
stream = fopen("test.txt","r");
for (i = 0; (i < (sizeof(buffer)-1) &&
((c = fgetc(stream)) != EOF) && (c != '\n')); i++)
buffer[i] = c;
buffer[i] = '\0';
if (fclose(stream))
perror("fclose error");
printf("Text from the file : %s\n", buffer);
}
Output:
Text from the file : C Language.
C Programming Code Editor:
Previous C Programming: C sscanf()
Next C Programming: C fgets()
C Programming: Tips of the Day
Where in memory variables stored in C:
You got some of these right, but whoever wrote the questions tricked you on at least one question:
- global variables -------> data (correct)
- static variables -------> data (correct)
- constant data types -----> code and/or data. Consider string literals for a situation when a constant itself would be stored in the data segment, and references to it would be embedded in the code
- local variables(declared and defined in functions) --------> stack (correct)
- variables declared and defined in main function -----> heap also stack (the teacher was trying to trick you)
- pointers(ex: char *arr, int *arr) -------> heap data or stack, depending on the context. C lets you declare a global or a static pointer, in which case the pointer itself would end up in the data segment.
- dynamically allocated space(using malloc, calloc, realloc) --------> stack heap
It is worth mentioning that "stack" is officially called "automatic storage class".
Ref : https://bit.ly/3jNvuZh
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook