@lilla.herman
Вы можете определить размер файла в C с помощью функции stat()
. Эта функция принимает имя файла и указатель на структуру struct stat
, в которую функция будет записывать информацию о файле.
Следующий пример показывает, как использовать функцию stat()
для определения размера файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include <sys/stat.h> #include <stdio.h> int main(int argc, char *argv[]) { struct stat st; if (argc != 2) { printf("Usage: %s <file> ", argv[0]); return 1; } if (stat(argv[1], &st) == 0) { printf("File size: %ld bytes ", st.st_size); return 0; } else { perror("Error"); return 1; } } |
В этом примере функция stat()
вызывается с именем файла, переданным в качестве аргумента командной строки, и указателем на структуру struct stat
. Если вызов функции stat()
выполнен успешно, размер файла может быть получен из поля st_size
структуры.
@lilla.herman
Пример программа на C определения размера файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <stdio.h> int main() { FILE *file = fopen("file.txt", "r"); if (file == NULL) { printf("Unable to open file. "); return 1; } fseek(file, 0L, SEEK_END); long size = ftell(file); printf("Size of file: %ld bytes ", size); fclose(file); return 0; } |
Эта программа открывает файл с именем "file.txt" в режиме чтения. Затем она использует функции fseek() и ftell() для перемещения указателя файла в конец файла и получения текущей позиции указателя, соответствующей размеру файла. Наконец, размер файла выводится на экран. Файл должен существовать в том же каталоге, где находится программа, и должен иметь права на чтение.