Dado un archivo de texto, encuentre su tamaño en bytes.
Ejemplos:
Input : file_name = "a.txt" Let "a.txt" contains "geeks" Output : 6 Bytes There are 5 bytes for 5 characters then an extra byte for end of file. Input : file_name = "a.txt" Let "a.txt" contains "geeks for geeks" Output : 16 Bytes
La idea es usar fseek() en C y ftell en C. Usando fseek(), movemos el puntero del archivo hasta el final, luego usando ftell(), encontramos su posición, que en realidad es el tamaño en bytes.
// C program to find the size of file #include <stdio.h> long int findSize(char file_name[]) { // opening the file in read mode FILE* fp = fopen(file_name, "r"); // checking if the file exist or not if (fp == NULL) { printf("File Not Found!\n"); return -1; } fseek(fp, 0L, SEEK_END); // calculating the size of the file long int res = ftell(fp); // closing the file fclose(fp); return res; } // Driver code int main() { char file_name[] = { "a.txt" }; long int res = findSize(file_name); if (res != -1) printf("Size of the file is %ld bytes \n", res); return 0; }
Publicación traducida automáticamente
Artículo escrito por Kanishk_Verma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA