Текстовый файл — это файл, в котором данные хранятся в виде символов ASCII, и обычно используется для хранения потока символов. Текстовые файлы организованы вокруг строк, каждая из которых заканчивается символом новой строки (‘\n’). Файлы исходного кода сами по себе являются текстовыми файлами.
Двоичный файл — это файл, в котором данные хранятся в файле так же, как они хранятся в основной памяти для обработки. Он хранится в двоичном формате вместо символов ASCII. Обычно он используется для хранения числовой информации (int, float, double). Обычно двоичный файл может быть создан только внутри программы, и его содержимое может быть прочитано только программой.
Текстовый файл против двоичного файла
Ниже приведены некоторые различия между текстовыми файлами и двоичными файлами.
№ | Текстовый файл | Двоичный файл |
1. | Текстовые файлы могут быть легко перенесены из одной компьютерной системы в другую. | Двоичные файлы не могут быть легко перенесены из одной компьютерной системы в другую из-за различий во внутренних различиях во внутреннем представлении, которое варьируется от компьютера к компьютеру. |
2. | Он хранит данные в формате ASCII, т.е. в удобочитаемых графических символах. | Он хранит данные в двоичном формате, т.е. с помощью 0 и 1. |
3. | Эти файлы легко читаются и модифицируются, потому что содержимое, записанное в текстовых файлах, удобочитаемо для человека. Содержимое, записанное в двоичных файлах, не читается человеком и выглядит как зашифрованное содержимое. | Эти файлы нелегко читать и модифицировать, потому что содержимое, записанное в двоичных файлах, не читается человеком и является зашифрованным содержимым. |
4. | Эти файлы создают проблемы с переносимостью. | Эти файлы легко переносимы. |
5. | Текстовые файлы сохраняют данные, преобразуя каждую цифру данных в формат ASCII, который займет много места по сравнению с требуемым. Например, число 546378 — это целое число, которое должно занимать на диске 4 байта, но будет занимать 6 байтов, по 1 байту на каждую цифру в числе. | Они экономят память, потому что данные любого типа будут храниться в памяти в соответствии с размером памяти. Например, любое целое число, независимо от отдельных цифр в числе, будет храниться, используя 4 байта. |
6. | Любой файл по умолчанию является текстовым файлом. | Режим ios::binary должен использоваться с бинарными файлами при их открытии. |
7. | Ошибку в текстовом файле можно легко распознать и устранить. | Ошибка в двоичном файле повреждает файл и ее нелегко обнаружить. |
8. | В текстовом файле символ новой строки сначала преобразуется в комбинацию возврата каретки и перевода строки, а затем записывается на диск. Наоборот происходит, когда строка читается из текстового файла. | В двоичном файле такое преобразование из новой строки в комбинацию возврата каретки и перевода строки не выполняется. |
9. | В текстовом файле специальный символ с кодом ASCII 26 вставляется в конец файла. Этот символ сигнализирует программе EOF при встрече. | В двоичном файле нет такого специального символа, который бы сигнализировал о завершении операции. |