A file descriptor is a low-level integer “handle” used to identify an opened file (or socket, or whatever) at the kernel level, in Linux and other Unix-like systems.
You pass “naked” file descriptors to actual Unix calls, such as read()
, write()
and so on.
A FILE
pointer is a C standard library-level construct, used to represent a file. The FILE
wraps the file descriptor, and adds buffering and other features to make I/O easier.
You pass FILE
pointers to standard C functions such as fread()
and fwrite()
.
Related Posts:
- Bad File Descriptor with Linux Socket write() Bad File Descriptor C
- How big can a 64 bit unsigned integer be?
- warning: implicit declaration of function
- What is *(uint32_t*)?
- Why should we typedef a struct so often in C?
- What is a string of hexadecimal digits?
- What is the difference between ++i and i++?
- Stack smashing detected
- Stack smashing detected
- How do I determine the size of my array in C?
- Why am I getting “void value not ignored as it ought to be”?
- Pointer Arithmetic
- Openssl : error “self signed certificate in certificate chain”
- What is the difference between C and embedded C?
- How do I create an array of strings in C?
- Difference between malloc and calloc?
- How do function pointers in C work?
- segmentation fault : 11
- What are .a and .so files?
- So what does “return 0” actually mean?
- “Expected expression before ‘ { ‘ token”
- How to generate a random int in C?
- C pointers and arrays: [Warning] assignment makes pointer from integer without a cast
- warning: assignment makes integer from pointer without a cast
- How to print the array?
- How to solve the error: assignment to expression with array type
- segmentation fault : 11
- Why use bzero over memset?
- What does “1e” mean?
- how to use uint64_t in C [duplicate]
- How do I solve the following errors: “Undefined reference to WinMain”, “[Error] Id returned 1 exit status”?
- Warning comparison between pointer and integer
- How do I properly compare strings in C?
- Connect: Socket operation on non-socket
- How to correctly use the extern keyword in C
- How do we check if a pointer is NULL pointer?
- how to use wait in C
- what is the meaning of == sign?
- How do I calculate MB/s & MiB/s?
- ARM Assembler – How do I use CMP, BLT and BGT?
- In C programming, what is `undefined reference`error, when compiling?
- Invalid read of size 8 – Valgrind + C
- warning: incompatible implicit declaration of built-in function ‘xyz’
- strcpy vs strdup
- double free or corruption (fasttop)
- Warning comparison between pointer and integer in C language
- error: expected declaration or statement at end of input in c
- Why do I get clang: error: linker command failed with exit code 1?
- Difference between scanf() and fgets()
- Return char[]/string from a function [duplicate]
- How to convert integer to char in C?
- Is there a printf converter to print in binary format?
- Program received signal SIGPIPE, Broken pipe
- Difference between char* and const char*?
- How to read from stdin with fgets()?
- Output single character in C
- Does connect() block for TCP socket?
- Converting a C program to MIPS
- Why am I getting “array initializer must be an initializer list or string literal”?
- C: linker command failed with exit code 1
- #31 expression must have integral type
- How do you pass a function as a parameter in C?
- What’s the equivalent of new/delete of C++ in C?
- sizeof float (3.0) vs (3.0f)
- How to trigger SIGUSR1 and SIGUSR2?
- C read file line by line
- Copying a part of a string (substring) in C
- Incompatible implicit declaration of built-in function ‘malloc’
- Need more information about Aborted (core dumped)
- Does C have a “foreach” loop construct?
- What is a bus error? Is it different from a segmentation fault?
- What is the cause of flexible array member not at end of struct error?
- Reversing a string in C
- When a number is written as 0x00… what does the x mean
- How to remove the character at a given index from a string in C?
- How can I get argv[] as int?
- waitpid, wnohang, wuntraced. How do I use these
- Why I do get “Cannot find bound of current function” when I overwrite the ret address of a vulnerable program?
- valgrind – Address —- is 0 bytes after a block of size 8 alloc’d
- (.text+0x20): undefined reference to `main’ and undefined reference to function
- Why am I getting this error: “data definition has no type or storage class”?
- Writing binary number system in C code
- Convert char array to string use C
- How does one represent the empty char?
- Removing trailing newline character from fgets() input
- “Multiple definition”, “first defined here” errors
- how use EOF stdin in C
- Execution of printf() and Segmentation Fault
- How does the strtok function in C work? [duplicate]
- Allocating char array using malloc
- Implementation of strtok() function
- switch case: error: case label does not reduce to an integer constant
- warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
- warning: return makes pointer from integer without a cast but returns integer as desired
- Reaching EOF with fgets
- The difference between char * and char[] [duplicate]
- How to clear input buffer in C?
- Parsing command-line arguments in C
- Compiler warning – suggest parentheses around assignment used as truth value
- error: `itoa` was not declared in this scope