Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Бинарный и текстовый режимы

Зачем нужны файлы? | Запись информации в файл | Запись в файл значений переменных | Чтение информации из файла | Вывод файла в обратном порядке | Пример нисходящей разработки |


Читайте также:
  1. Брачный договор и режимы имущества
  2. Жесткий и мягкий режимы пластинного сдвига шарика
  3. ЗАЧЕМ НУЖНЫ РЕЖИМЫ ПИТАНИЯ И КОМУ ОНИ НУЖНЫ?
  4. Методы, способы, типы правового регулирования. Правовые режимы
  5. Назначение, возможности, основные режимы работы конструктора в программе Ms PowerPoint
  6. Основные режимы просмотра текстовых документов в MS Word

Для каждого текстового режима существует его бинарный аналог. Не всегда можно отличить, какой режим используется, поэтому мы рассмотрим специальный пример, который продемонстрирует нам отличие этих двух режимов. Итак, на Си бинарный режим определяется добавлением литеры «b».

 

Текстовый режим r w a r+ w+ a+
Бинарный режим rb wb ab rb+ wb+ ab+

Рассмотрим следующую задачу: подсчитать количество символов в файле. Данную задачу можно легко решить, считав содержимое файла посимвольно. Необходимо использовать переменную-счетчик.

 

//Функция подсчета размера файла

int getFileSize(FILE* file) {

//Помещаем файловый указатель в начало

rewind(file);

int size = 0;

while(!feof(file)) {

fgetc(file);

size++;

}

return size;

}

 

int main() {

//Открываем файл в текстовом режиме

FILE* txtFile = fopen("tutorial.cpp", "r");

//Открываем файл в бинарном режиме

FILE* binFile = fopen("tutorial.cpp", "rb");

 

cout<<"Размер файла в текстовом режиме:" << endl;

cout << getFileSize(txtFile) << "байт" << endl;

cout<<"Размер файла в бинарном режиме:" << endl;

cout << getFileSize(binFile) << "байт" << endl;

return 0;

}

 

 

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


Дата добавления: 2015-08-17; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Чтение файла целиком| Произвольный доступ к файлу

mybiblioteka.su - 2015-2024 год. (0.005 сек.)