Выгрузка данных в файл .txt

Здравствуйте, я новис в c++. Подскажите пожалуйста как сделать выгрузку данных в файл .txt
К примеру, пользователь вводит имя, возраст, пол и так далее, а программа потом эти данные выгружает в файл.

zyxld, сие действие называется сериализацией (формат txt — как частный случай).

Например, в программе имеется некая структура данных, которую надо сначала преобразовать в последовательную форму (для сохранения в файле, передачи другому процессу и т.п.), а затем из последовательной формы опять преобразовать в структуру данных для использования в программе (не факт, что в той же). Т.е. сначала сериализация, а потом десериализация.

Если примитивно, то выглядит так. Пишется функция (метод), которая берёт по очереди все необходимые переменные (члены структуры/класса) и, используя функции вывода (из <ostream> или <cstdio> — на твой выбор), выводит данные в открытый поток/файл. При выводе должен использоваться некий символ разделитель полей, например, символ перевода строки.

Для десериализации также пишется функция (метод), которая из открытого потока/файла читает данные в переменные (члены структуры/класса) в том же порядке и с учётом того же символа-разделителя, как это было сделано при сериализации.

Понятно, что перед вызовом этих функций (методов) поток/файл должен быть открыт в соответствующем режиме (чтение или запись), а после окончания процесса поток/файл должен быть закрыт.

Для структуры/класса для сериализации/десериализации в текстовом формате можно перегрузить операции << и >>. Если формат не текстовый (двоичный), то лучше использовать пару методов, а не перегрузку операций.

PS. Ый, я бы даже уточнил, std::ostream. А std::ofstream — это уже частности.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

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

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.