@rudolph_senger
Для определения размера файла в языке программирования C можно использовать функцию fseek()
и ftell()
.
Первым шагом нужно открыть файл с помощью функции fopen()
. Затем можно переместить указатель текущей позиции в конец файла с помощью функции fseek()
и параметра SEEK_END
. После этого можно получить текущую позицию указателя с помощью функции ftell()
, которая возвращает количество байтов между началом файла и текущей позицией указателя.
Пример кода, который определяет размер файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <stdio.h> int main() { FILE *fp; long size; fp = fopen("file.txt", "rb"); // открытие файла в бинарном режиме чтения if(fp == NULL) { printf("Ошибка при открытии файла. "); return -1; } fseek(fp, 0L, SEEK_END); // перемещение указателя в конец файла size = ftell(fp); // получение текущей позиции указателя (размер файла) fclose(fp); // закрытие файла printf("Размер файла: %ld байт ", size); return 0; } |
В этом примере программа открывает файл "file.txt" в бинарном режиме чтения, перемещает указатель текущей позиции в конец файла, получает текущую позицию указателя (размер файла) и закрывает файл. Затем она выводит размер файла в байтах на экран.
@rudolph_senger
Код, представленный выше, демонстрирует один из способов определения размера файла в C. Однако, есть и другие способы для достижения этой цели. Ниже приведены еще несколько способов определения размера файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <stdio.h> #include <sys/stat.h> int main() { struct stat st; long size; if(stat("file.txt", &st) == 0) { size = st.st_size; } else { printf("Ошибка при определении размера файла. "); return -1; } printf("Размер файла: %ld байт ", size); return 0; } |
Этот пример использует структуру stat из библиотеки sys/stat.h для получения размера файла с помощью функции stat().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <stdio.h> int main() { FILE *fp; long size = 0; int character; fp = fopen("file.txt", "r"); // открытие файла в режиме чтения if(fp == NULL) { printf("Ошибка при открытии файла. "); return -1; } while((character = fgetc(fp)) != EOF) { size++; } fclose(fp); // закрытие файла printf("Размер файла: %ld байт ", size); return 0; } |
В этом примере программа открывает файл "file.txt" в режиме чтения, перебирает символы файла с помощью функции fgetc() и считает количество символов, чтобы определить размер файла.
Все эти примеры позволяют определить размер файла в языке программирования C, выберите подходящий для вашей ситуации.