Difference between file descriptor and file pointer


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Difference between file descriptor and file pointer
# 1  
Old 03-11-2010
Difference between file descriptor and file pointer

hi....,
can anyone tell me what is the exact difference between file descriptor and file pointer...... and why file descriptor takes integer value???Smilie
# 2  
Old 03-11-2010
MySQL

File descriptor is an integer which is an index in the kernel on the opened files(Which is called file descriptor table).It is used to deal with the files . most of the functions like open,close,read using the file descriptors to deal with the files.

File pointer is a location with in the file.Which points the next character which going to read.
# 3  
Old 03-11-2010
While I would mostly agree with the file descriptor definition, a file pointer is not usually what you describe but commonly used to refer to what the standard C library uses to handle files (FILE *).

The associated functions are fopen, fclose, fread, fwrite, fscanf and the likes.
# 4  
Old 03-14-2010
Quote:
Originally Posted by jlliagre
While I would mostly agree with the file descriptor definition, a file pointer is not usually what you describe but commonly used to refer to what the standard C library uses to handle files (FILE *).

The associated functions are fopen, fclose, fread, fwrite, fscanf and the likes.
I would also note that a file pointer has an associated file descriptor used by the library functions to do the actual I/O calls to the kernel. You can get the associated fd using the fileno function.
# 5  
Old 08-13-2010
Quote:
Originally Posted by karthigayan
File descriptor is an integer which is an index in the kernel on the opened files(Which is called file descriptor table).It is used to deal with the files . most of the functions like open,close,read using the file descriptors to deal with the files.

File pointer is a location with in the file.Which points the next character which going to read.
So shall I understand that the filedescriptor is number of amount connections for particular process/program which will be used ? and its predefined ?
# 6  
Old 08-13-2010
A file descriptor is an index in a per process table. It isn't predefined outside 0, 1 and 2 which are stdin, stdout and stderr when the process starts.
# 7  
Old 08-13-2010
Quote:
Originally Posted by kvok
So shall I understand that the filedescriptor is number of amount connections for particular process/program which will be used ? and its predefined ?
It's not a count of anything, it's just an arbitrary number assigned to that process when it opens a file. The kernel will recognize that number when you make a read() or write() call with it and respond accordingly.

By tradition, certain file numbers are expected to be open by default. stdin should be connected to some sort of input like keyboard or file, stdout should be connected to some sort of output like a screen or file, and stderr should either be connected to a terminal or to nothing. But this is just by tradition. The kernel really doesn't care.

A file pointer is what you get when you open a file with the stdio library. It's a structure that holds buffers and so forth, things that raw file descriptors don't have, but at the heart stdio still uses fd's, at least on UNIX sysems:
Code:
FILE *fp=fopen("filename", "r");
if(fp != NULL)
{
        printf("fp's descriptor is %d\n", fileno(fp));
}

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Variable File Descriptor

Greetings. I am happily using constructs like the following; I have set -x to show fine distinctions. $ exec 4> afile + exec + 4> afile $ print -u4 This is the first line in afileAs you can see from the -x expansion, the shell performed the exec command and redirected file descriptor to... (4 Replies)
Discussion started by: rpaskudniak
4 Replies

2. Shell Programming and Scripting

file descriptor count

I am trying to write a script which will only show me the file descriptor count for a process/pid. My script will return me the count only not the whole output. For example, I would like my script to return the output 23 this case, not the whole output. Can anybody please help me how do I get... (11 Replies)
Discussion started by: mohullah
11 Replies

3. Shell Programming and Scripting

file descriptor KSH

Hello, How can i use file descriptor in a script to read 2 files at the same time and extract line 200 from file 1 and line 500 from file 2. Thanks. (6 Replies)
Discussion started by: LiorAmitai
6 Replies

4. Programming

Copying and overwriting a file using file descriptor

Hi , i have two basic requirement on linux platform . I am using C language to do this . 1) copying one file to another (assuming i know their file descriptors) 2) Overwriting a file using it file descriptor . Please guide. regards Aki (2 Replies)
Discussion started by: meet123321
2 Replies

5. UNIX for Dummies Questions & Answers

File Descriptor

Hi What the below path contains? /proc/<pid>/fd (1 Reply)
Discussion started by: siba.s.nayak
1 Replies

6. Shell Programming and Scripting

File Descriptor

Hello All, Im opening a file desciptor in perl and sending data using print CMD "$xyz". is there a limit to the length of the string that I can give to this CMD at a time. (3 Replies)
Discussion started by: rimser9
3 Replies

7. Programming

Get the file descriptor of a socket file. C vs Python.

Hi, I want to validate that a file is a socket file on Linux. I know I can do this using the S_ISSOCK macro, but I am not sure how to get the file descriptor for the socket file. For example, I know that /tmp/mapping-foo is a socket file. In Python I can do something like this: >>> import... (2 Replies)
Discussion started by: goon12
2 Replies

8. UNIX for Dummies Questions & Answers

confusion (file pointer and file descripter)

Hi everybody, i am newbie to unix and confused with file pointers and file descripters. could anyone help me to clear my doubts .. when we call unix system calls to create a file then we are dealing wih file descripters i think file descripters are also normals file as stored inhard disks... (1 Reply)
Discussion started by: johnray31
1 Replies

9. UNIX for Dummies Questions & Answers

File Descriptor Help

What is a file descriptor in Unix?? How to find a file descriptor of a file in Unix?? Does it have anything to do with the Inode numbers?? (3 Replies)
Discussion started by: rahulrathod
3 Replies

10. UNIX for Dummies Questions & Answers

file activity (open/closed) file descriptor info using KORN shell scripting

I am trying to find a way to check the current status of a file. Such as some cron job processes are dependent on the completion of others. if a file is currently being accessed / modified or simply open state I will wait until it is done being processed before attempting the next process on that... (3 Replies)
Discussion started by: Gary Dunn
3 Replies
Login or Register to Ask a Question