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

Обработка файлов C++:как открывать, записывать, читать, закрывать файлы в C++

Что такое обработка файлов в C++?

Файлы постоянно хранят данные на запоминающем устройстве. При обработке файлов вывод программы может быть сохранен в файле. В файле с данными можно выполнять различные операции.

Поток — это абстракция устройства, на котором выполняются операции ввода/вывода. Вы можете представить поток как место назначения или источник символов неопределенной длины. Это будет определяться их использованием. C++ предоставляет вам библиотеку с методами обработки файлов. Давайте обсудим это.

Из этого руководства по С++ вы узнаете:

Библиотека fstream

Библиотека fstream предоставляет программистам на C++ три класса для работы с файлами. Эти классы включают:

Следующее изображение упрощает понимание:

<центр>

<рисунок>



Чтобы использовать вышеуказанные классы библиотеки fstream, вы должны включить ее в свою программу в виде заголовочного файла. Конечно, вы будете использовать директиву препроцессора #include. Вы также должны включить заголовочный файл iostream.

Как открывать файлы

Прежде чем выполнять какую-либо операцию с файлом, его необходимо сначала открыть. Если вам нужно записать в файл, откройте его с помощью объектов fstream или ofstream. Если вам нужно только прочитать файл, откройте его с помощью объекта ifstream.

В трех объектах, то есть fstream, ofstream и ifstream, определена функция open(). Функция использует следующий синтаксис:

open (file_name, mode);
Значение Описание ios::appРежим добавления. Вывод, отправленный в файл, добавляется к нему.ios::ate. Он открывает файл для вывода, затем перемещает управление чтением и записью в конец файла. для write.ios::truncЕсли файл существует, элементы файла должны быть усечены перед его открытием.

Возможно использование двух режимов одновременно. Вы объединяете их с помощью | (ИЛИ) оператор.

Пример 1:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file.close(); 
	}
	return 0;
}

Вывод:

<сильный>

Вот скриншот кода:


Пояснение кода:

  1. Включите файл заголовка iostream в программу, чтобы использовать ее функции.
  2. Включите файл заголовка fstream в программу, чтобы использовать его классы.
  3. Включите пространство имен std в наш код, чтобы использовать его классы, не вызывая его.
  4. Вызовите функцию main(). Логика программы должна находиться внутри ее тела.
  5. Создайте объект класса fstream и назовите его my_file.
  6. Примените функцию open() к указанному выше объекту, чтобы создать новый файл. Режим вывода позволяет нам записывать в файл.
  7. Используйте оператор if, чтобы проверить, не удалось ли создать файл.
  8. Сообщение для печати на консоли, если файл не был создан.
  9. Конец тела оператора if.
  10. Используйте оператор else, чтобы указать, что делать, если файл был создан.
  11. Сообщение для печати на консоли, если файл был создан.
  12. Примените функцию close() к объекту, чтобы закрыть файл.
  13. Конец тела инструкции else.
  14. В случае успешного завершения программа должна вернуть значение.
  15. Конец тела функции main().

Как закрыть файлы

Как только программа C++ завершается, она автоматически

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

Объекты fstream, ofstream и ifstream имеют функцию close() для закрытия файлов. Функция использует следующий синтаксис:

void close();

Как писать в файлы

Вы можете писать в файл прямо из вашей программы на C++. Для этого вы используете оператор вставки потока (<<). Текст, который будет записан в файл, должен быть заключен в двойные кавычки.

Давайте продемонстрируем это.

Пример 2:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file << "Guru99";
		my_file.close();
	}
	return 0;
}

Вывод :

Вот скриншот кода:


Пояснение кода:

  1. Включите файл заголовка iostream в программу, чтобы использовать ее функции.
  2. Включите файл заголовка fstream в программу, чтобы использовать его классы.
  3. Включите в программу пространство имен std, чтобы использовать его классы, не вызывая его.
  4. Вызовите функцию main(). Логика программы должна быть добавлена ​​в тело этой функции.
  5. Создайте экземпляр класса fstream и назовите его my_file.
  6. Используйте функцию open(), чтобы создать новый файл с именем my_file.txt. Файл будет открыт в режиме вывода для записи в него.
  7. Используйте оператор if, чтобы проверить, не был ли открыт файл.
  8. Текст для печати на консоли, если файл не открыт.
  9. Конец тела оператора if.
  10. Используйте оператор else, чтобы указать, что делать, если файл был создан.
  11. Текст для печати на консоли, если файл был создан.
  12. Запишите текст в созданный файл.
  13. Используйте функцию close(), чтобы закрыть файл.
  14. Конец тела инструкции else.
  15. Программа должна возвращать значение после успешного завершения.
  16. Конец тела функции main().

Как читать из файлов

Вы можете считывать информацию из файлов в свою программу на C++. Это возможно с помощью оператора извлечения потока (>>). Вы используете оператор так же, как вы используете его для чтения пользовательского ввода с клавиатуры. Однако вместо объекта cin вы используете объект ifstream/fstream.

Пример 3:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::in);
	if (!my_file) {
		cout << "No such file";
	}
	else {
		char ch;

		while (1) {
			my_file >> ch;
			if (my_file.eof())
				break;

			cout << ch;
		}

	}
	my_file.close();
	return 0;
}

Вывод:

Нет такого файла

Вот скриншот кода:

Пояснение кода:

  1. Включите файл заголовка iostream в программу, чтобы использовать ее функции.
  2. Включите файл заголовка fstream в программу, чтобы использовать его классы.
  3. Включите в программу пространство имен std, чтобы использовать его классы, не вызывая его.
  4. Вызовите функцию main(). Логика программы должна быть добавлена ​​в тело этой функции.
  5. Создайте экземпляр класса fstream и назовите его my_file.
  6. Используйте функцию open(), чтобы создать новый файл с именем my_file.txt. Файл будет открыт в режиме in для чтения из него.
  7. Используйте оператор if, чтобы проверить, не существует ли файл.
  8. Текст для печати на консоли, если файл не найден.
  9. Конец тела оператора if.
  10. Используйте оператор else, чтобы указать, что делать, если файл найден.
  11. Создайте символьную переменную с именем ch.
  12. Создайте цикл while для перебора содержимого файла.
  13. Записать/сохранить содержимое файла в переменной ch.
  14. Используйте условие if и функцию eof(), то есть конец файла, чтобы убедиться, что компилятор продолжает чтение из файла, если конец не достигнут.
  15. Используйте оператор break, чтобы остановить чтение из файла после достижения конца.
  16. Вывести содержимое переменной ch на консоль.
  17. Конец блока while.
  18. Конец тела инструкции else.
  19. Вызовите функцию close(), чтобы закрыть файл.
  20. Программа должна возвращать значение после успешного завершения.
  21. Конец тела функции main().

Обзор:


Язык C

  1. C Обработка файлов
  2. Как инициализировать RAM из файла с помощью TEXTIO
  3. Обработка исключений C++:пример Try, Catch, Throw
  4. Как писать комментарии в программировании на C
  5. Java BufferedReader:как читать файл в Java с примером
  6. C — заголовочные файлы
  7. Файлы и потоки C++
  8. Обработка сигналов С++
  9. Python — файловый ввод-вывод
  10. Что такое Микрометр? | Как вы читаете микрометр