Javatpoint Logo
Javatpoint Logo

C ftell() function

The ftell() function returns the current file position of the specified stream. We can use ftell() function to get the total size of a file after moving file pointer at the end of file. We can use SEEK_END constant to move the file pointer at the end of file.



File: ftell.c


Size of file: 21 bytes


Using fseek(fp, 0, SEEK_END), the program accesses the file "file.txt" in read mode and advances the file pointer to the end. Using ftell(fp), it obtains the file location, which represents the file size. Finally, the program uses the printf() function to output the file's size in bytes. The result shows that "file.txt" has 21 bytes in it. You should take note of the program's use of uncommon functions like clrscr() and getch().

Knowing the file's position and size is crucial for various tasks when working with files in C programming. As the preceding example shows, the ftell() function is essential in giving this information. Let's look more closely at some additional crucial file operations and ideas since file management encompasses more than simply determining the file size.

Modes for Opening Files: In the example, we opened the file in "r" mode. This mode indicates read-only access. Additional access modes are available, including "w" for writing (creates a new file or overwrites an existing one), "a" for append (writes at the end of the file), "rb" for binary read, "wb" for binary write, etc. It is essential to comprehend and use the proper file modes to guarantee that the correct file actions are carried out.

Error Handling: It's critical to manage potential failures when working with file operations properly. If the fopen() method cannot open the file, it returns NULL. Therefore, looking at the return value and responding appropriately is crucial if the file opening doesn't succeed. Error management helps you find and fix possible problems and prevent program crashes.

File Reading and Writing: Although the function ftell() is generally used to determine the size of a file, file handling frequently includes reading data from and writing data to files. For these uses, C has several methods, including fread(), fwrite(), fgets(), and fputs(). You may efficiently modify the content of files by becoming familiar with and using these functions.

File Seeking: The fseek() function is used in conjunction with ftell() to adjust the file position indication to a particular point inside the file. It is helpful when you want to read or write data from a specific location in the file. You can traverse a file and perform the necessary operations with the fseek() function.

Text vs. Binary Mode: Both binary mode and text mode are available for opening files. While text mode is used for text files, binary mode is appropriate for non-text files. Different platforms (such as Windows and Unix-like systems) may treat newline characters differently when opening a file in text mode. In binary mode, there are no such transformations and data is read, and written just as it is.


In conclusion, the C ftell() method is a helpful resource for locating the current file location and retrieving the file size. Programmers may easily search through files and do actions by combining them with the fseek() function. Successful file handling in C depends on the understanding and use of file opening modes, error management, and many file-related functions. Furthermore, understanding the differences between binary and text modes guarantees precise data handling. C programmers who are skilled in file handling can read, write, and modify files efficiently, enabling the creation of various programs with exact file operations.

Next TopicC Preprocessor

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA