Функция Ftell в C

Системный вызов Waitpid на C Программирование и разработка

Как и многие другие языки программирования, язык C имеет множество встроенных функций. Эти функции были добавлены в язык C для выполнения различных функций на разных уровнях.

Одной из функций является функция «ftell()» концепции регистрации C. Эта функция, скорее всего, используется для чтения существующего местоположения файла предоставленного потока относительно начала файла. При перемещении указателя документа на последнее место в документе этот метод срабатывает для получения общего размера набора данных. Текущее местоположение возвращается в длинном формате, и документ может содержать более 32767 байт информации. Таким образом, мы решили рассказать о C ftell() в системе Ubuntu 20.04.

Начните с запуска терминала Ubuntu, т.е. Ctrl+Alt+T. Мы должны создать новый текстовый файл в домашней папке нашей системы Ubuntu. Используйте сенсорную инструкцию, чтобы сделать это. Перейдите к домашней папке вашей системы Linux и откройте вновь созданный файл, дважды нажав на него. Добавьте в него текстовые данные, сохраните и закройте его.

Вы можете видеть, что мы создали файл file.txt и добавили в него показанные ниже данные. Мы будем использовать этот файл в наших ближайших примерах.

cat file.txt

Пример 1

Давайте составим наши первые примеры для этой статьи. Вам нужно создать новый файл C-типа в вашей системе, используя сенсорную инструкцию Ubuntu вместе с именем файла с расширением «.c». Этот файл необходимо открыть в одном из редакторов Ubuntu, чтобы использовать его для кода. Вы можете использовать редактор vim, text или nano. До сих пор мы использовали редактор «GNU Nano», чтобы сделать наш код более привлекательным.

$ touch ftell.c

$ nano ftell.c

Когда файл открывается в редакторе GNU nano, он изначально будет пустым. Мы должны начать наш код C с использованием заголовков, скорее всего, «stdio.h». Мы будем выполнять наш код в функции main() этого кода.

Запустите функцию main() с возвращаемым типом «int». Мы объявили файловый дескриптор указателя с помощью объекта FILE. Также объявляется еще одна переменная целочисленного типа, т. е. «длина». Теперь нам нужно открыть уже существующий текстовый файл в нашей системе, используя функцию fopen() файла C, чтобы прочитать его данные с помощью записи чтения, т. е. «r». Если файл был успешно открыт, дескриптор файла будет возвращен с некоторым целочисленным значением, скорее всего, «1».

Читайте также:  Команда Linux СP: руководство

Мы использовали оператор «if», чтобы проверить, является ли значение дескриптора файла, которое мы только что получили, нулевым или нет. Если это так, он вызовет метод perror() языка C, чтобы сгенерировать сообщение об ошибке, т. е. «Есть какая-то ошибка». После этого оператора «если», если файл успешно открыт, мы будем использовать функцию seek () файловой системы C, чтобы переместить указатель на конец файла.

Мы должны использовать опцию SEEK_END в качестве третьего аргумента функции fseek(). 0 в этой функции используется для поиска указателя с позиции 0. Длина общего размера файла была получена с помощью функции ftell().

Файл был закрыт функцией fclose() с использованием дескриптора файла. Теперь оператор printf предназначен для отображения общего количества байтов данных в нашем текстовом файле с использованием переменной «длина». Сохраните файл кода с помощью сочетания клавиш Ctrl+S.

#include <stdio.h>

void main () {
FILE *fd;
int length;
fd = fopen(«file.txt», «r»);
if(fd == NULL) {
perror(“There is some Error”);
return(1);
}
fseek(fd, , SEEK_END);
length = ftell(fd);
fclose(fd);
printf(«Our File Size: %d bytes\n«, len);
return();
}

Выйдите из редактора nano с помощью сочетания клавиш Ctrl+X, скомпилируйте код C с помощью компилятора «gcc». После этого запустите свой код с помощью команды «./a.out». Вы можете видеть, что наш текстовый файл имеет в общей сложности 370 байт.

$ gcc ftell.c

$ ./a.out

Пример 2

Давайте возьмем новый пример, чтобы использовать в нем функцию ftell() языка C. Используйте тот же файл кода, чтобы обновить наш код. Также используйте заголовок «stdio.h» и запустите функцию main(). Используйте файловый дескриптор точечного типа «f», чтобы открыть текстовый файл «file.txt» в режиме чтения. Объявите массив размером 10, т. е. «A». Мы использовали функцию fscanf() файла C для сканирования первой строки из текстового файла, содержащей не более 10 букв.

Читайте также:  Как создавать HTML-формы: руководство

Оператор printf() использует файловый дескриптор в своей функции ftell() для отображения длины первой строки из текстового файла.

#include <stdio.h>

void main () {
FILE *= fopen(«file.txt», «r»);
char A[10];
fscanf(f, «%s», A);
printf(«Position of Pointer: %ld\n«, ftell(f);
return();
}

После компиляции и запуска этого кода этот файл показывает нам вывод, т. е. положение указателя после 1 -й строки равно 4, как показано ниже.

$ gcc ftell.c

$ ./a.out

Давайте сделаем первую строку в файле file.txt немного длиннее, используя простое редактирование.

$ cat file.txt

Теперь используйте тот же объем кода без обновлений/изменений, чтобы увидеть результат. Мы использовали массив размером 10 для массива «А». Если размер меньше, он отобразит общий размер первой строки, т. е. длину, но также покажет некоторый вывод в области вывода.

Теперь используйте тот же объем кода без

Выполнение этого кода показывает нам, что размер равен 28, но программа разбивается, потому что первая строка имеет размер 28, а вы использовали область размером 10.

$ gcc ftell.c

$ ./a.out

Заключение

В этой статье обсуждались мелкие детали использования функции ftell() языка C для получения размера данных, используемых в каком-либо конкретном документе. Мы обсудили две простые иллюстрации, объясняющие концепцию функции ftell в языке программирования C.

Оцените статью
bestprogrammer.ru
Добавить комментарий