Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

C Обработка файлов

Обработка файлов C

В этом руководстве вы узнаете об обработке файлов в C. Вы научитесь обрабатывать стандартный ввод-вывод в C, используя fprintf(), fscanf(), fread(), fwrite(), fseek() и т. д. с помощью примеры.

Файл – это контейнер на компьютерных запоминающих устройствах, используемый для хранения данных.

<час>

Зачем нужны файлы?

<час>

Типы файлов

При работе с файлами следует знать о двух типах файлов:

  1. Текстовые файлы
  2. Двоичные файлы

1. Текстовые файлы

Текстовые файлы — это обычные файлы .txt. файлы. Вы можете легко создавать текстовые файлы с помощью любых простых текстовых редакторов, таких как Блокнот.

Когда вы откроете эти файлы, вы увидите все содержимое файла в виде обычного текста. Вы можете легко редактировать или удалять содержимое.

Они требуют минимальных усилий для обслуживания, легко читаются, обеспечивают наименьшую безопасность и занимают больше места для хранения.

2. Бинарные файлы

Двоичные файлы в основном имеют формат .bin. файлы на вашем компьютере.

Вместо того, чтобы хранить данные в виде простого текста, они хранят их в двоичной форме (0 и 1).

Они могут содержать больший объем данных, их нелегко прочитать, и они обеспечивают лучшую безопасность, чем текстовые файлы.

<час>

Операции с файлами

В C вы можете выполнять четыре основные операции с файлами, текстовыми или двоичными:

  1. Создание нового файла
  2. Открытие существующего файла
  3. Закрытие файла
  4. Чтение и запись информации в файл
<час>

Работа с файлами

При работе с файлами нужно объявить указатель типа file. Это объявление необходимо для связи между файлом и программой.

01
<час>

Открытие файла - для создания и редактирования

Открытие файла выполняется с помощью 04 функция, определенная в 17 файл заголовка.

Синтаксис открытия файла в стандартном вводе/выводе:

10 

Например,

28
  • Предположим, файл 29 не существует в местоположении 36 . Первая функция создает новый файл с именем 49. и открывает его для записи в режиме 'w' .
    Режим записи позволяет создавать и редактировать (перезаписывать) содержимое файла.
  • Теперь предположим, что второй двоичный файл 56 существует в местоположении 67 . Вторая функция открывает существующий файл для чтения в бинарном режиме 'rb' .
    Режим чтения позволяет только читать файл, вы не можете записывать в файл.
Режимы открытия в стандартном вводе-выводе
Режим Значение режима Во время отсутствия файла
72 Открыть для чтения. Если файл не существует, 80 возвращает NULL.
99 Открыть для чтения в бинарном режиме. Если файл не существует, 108 возвращает NULL.
112 Открыть для записи. Если файл существует, его содержимое перезаписывается.
Если файл не существует, он будет создан.
121 Открыть для записи в двоичном режиме. Если файл существует, его содержимое перезаписывается.
Если файл не существует, он будет создан.
136 Открыть для добавления.
Данные добавляются в конец файла.
Если файл не существует, он будет создан.
140 Открыть для добавления в двоичном режиме.
Данные добавляются в конец файла.
Если файл не существует, он будет создан.
154 Открыт как для чтения, так и для записи. Если файл не существует, 166 возвращает NULL.
175 Открыт как для чтения, так и для записи в двоичном режиме. Если файл не существует, 187 возвращает NULL.
198 Открыт как для чтения, так и для записи. Если файл существует, его содержимое перезаписывается.
Если файл не существует, он будет создан.
201 Открыт как для чтения, так и для записи в двоичном режиме. Если файл существует, его содержимое перезаписывается.
Если файл не существует, он будет создан.
215 Открыть как для чтения, так и для добавления. Если файл не существует, он будет создан.
225 Открыть как для чтения, так и для добавления в двоичном режиме. Если файл не существует, он будет создан.
<час>

Закрытие файла

Файл (как текстовый, так и двоичный) должен быть закрыт после чтения/записи.

Закрытие файла выполняется с помощью 237 функция.

32

Здесь 249 указатель файла, связанный с файлом, который нужно закрыть.

<час>

Чтение и запись в текстовый файл

Для чтения и записи в текстовый файл мы используем функции 258 и 263

Это всего лишь файловые версии 276. и 280 . Единственное отличие состоит в том, что 294 и 308 ожидает указатель на структуру FILE.

<час>

Пример 1. Запись в текстовый файл

40

Эта программа берет число от пользователя и сохраняет в файле 316 .

После того, как вы скомпилируете и запустите эту программу, вы увидите текстовый файл 324 созданный на диске C вашего компьютера. Когда вы откроете файл, вы увидите введенное целое число.

<час>

Пример 2. Чтение из текстового файла

58

Эта программа считывает целое число, присутствующее в 331 файл и распечатывает его на экране.

Если вы успешно создали файл из примера 1 , запустив эту программу, вы получите введенное целое число.

Другие функции, такие как 342 , 352 и т. д. можно использовать аналогичным образом.

<час>

Чтение и запись в двоичный файл

Функции 362 и 373 используются для чтения и записи в файл на диске соответственно в случае двоичных файлов.

<час>

Запись в двоичный файл

Для записи в бинарный файл нужно использовать 380 функция. Функции принимают четыре аргумента:

  1. адрес данных для записи на диск
  2. размер данных для записи на диск
  3. количество таких данных
  4. указатель на файл, в который вы хотите записать.
61
<час>

Пример 3. Запись в двоичный файл с помощью fwrite()

73

В этой программе мы создаем новый файл 399 на диске C.

Объявляем структуру 400 с тремя числами - n1, n2 и n3 , и определите его в основной функции как num.

Теперь внутри цикла for мы сохраняем значение в файл, используя 416 .

Первый параметр принимает адрес num. а второй параметр принимает размер структуры 428 .

Поскольку мы вставляем только один экземпляр num , третий параметр — 438 . И последний параметр 441 указывает на файл, в котором мы храним данные.

Наконец, мы закрываем файл.

<час>

Чтение из бинарного файла

Функция 452 также принимать 4 аргумента, похожих на 463 действовать, как указано выше.

80
<час>

Пример 4. Чтение из двоичного файла с помощью функции fread()

90

В этой программе вы читаете тот же файл 471 и перебирать записи одну за другой.

Проще говоря, вы читаете один 486 запись 499 размер из файла, на который указывает *fptr в структуру num .

Вы получите те же записи, что и в Примере 3. .

<час>

Получение данных с помощью fseek()

Если у вас есть много записей в файле и вам нужно получить доступ к записи в определенной позиции, вам нужно пройтись по всем записям перед этим, чтобы получить запись.

Это приведет к потере большого количества памяти и рабочего времени. Более простой способ получить необходимые данные можно с помощью 507 .

Как следует из названия, 514 ищет курсор к данной записи в файле.

<час>

Синтаксис fseek()

107

Первый поток параметров — это указатель на файл. Второй параметр — это позиция искомой записи, а третий параметр указывает место, где начинается смещение.

Разное откуда в fseek()
Откуда Значение
521 Начинает смещение с начала файла.
531 Начинает смещение с конца файла.
545 Начинает смещение от текущего положения курсора в файле.
<час>

Пример 5:fseek()

115

Эта программа начнет чтение записей из файла 551 в обратном порядке (от последнего к первому) и печатает его.


Язык C

  1. Класс файла Java
  2. Введение в файлы STL
  3. Операции ввода-вывода файлов Verilog
  4. C - файловый ввод/вывод
  5. C — заголовочные файлы
  6. C - Обработка ошибок
  7. Файлы и потоки C++
  8. Обработка сигналов С++
  9. С# — обработка исключений
  10. С# — файловый ввод-вывод