Написать набор функций для выполнения следующих задач: создание бинарного файла, запись данных в файл, открытие файла и чтения из него данных, вывод результата на экран, вывод результата в текстовый файл. Для вызова необходимых функций использовать меню.
Если можно, как-нибудь попроще, желательно с комментариями. Как никак учусь еще))
C/C++
Помогите написать код с файлами C++
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <sstream>
using namespace std;
string save_bin(const vector<string>& text, const string& path = "database.bin") {
ofstream db(path, ios::binary);
if (db.is_open()) {
string acc;
for (const string& line : text) acc += line + '\n';
db.write((char*)acc.c_str(), acc.length());
db.close();
return "database.bin";
}
return "";
}
string save_txt(const vector<string>& text, const string& path = "data.txt") {
ofstream out(path);
if (out.is_open()) {
for (const string& line : text) out << line << '\n';
out.close();
return "data.txt";
}
return "";
}
vector<string> load_bin(const string& path) {
vector<string> text;
ifstream op(path, ios::binary);
if (op.is_open()) {
char box[0x7FFFF] = { 0 };
op.read((char*)&box, sizeof(box));
op.close();
string line = box;
istringstream iss(line);
string tmp;
while (getline(iss, tmp)) text.push_back(tmp);
}
return text;
}
vector<string> load_txt(const string& path) {
ifstream inp(path);
vector<string> text;
if (inp.is_open()) {
string line;
while (getline(inp, line)) text.push_back(line);
inp.close();
}
return text;
}
vector<string> input_text(const size_t length) {
vector<string> text(length);
for (string& line : text) {
cout << "Введите строку: ";
getline(cin, line);
}
puts("");
return text;
}
void show(const vector<string>& text) {
for (const string& line : text) cout << line << '\n';
puts("");
}
unsigned integer(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(numeric_limits<size_t>::max(), '\n');
return value;
}
int main() {
system("chcp 1251 > nul");
size_t length = integer("Введите количество строк: ");
puts("");
vector<string> text_inp = input_text(length);
string path_bin = save_bin(text_inp);
vector<string> text_bin = load_bin(path_bin);
show(text_bin);
string path_txt = save_txt(text_inp);
vector<string> text_txt = load_txt(path_txt);
show(text_txt);
system("pause > nul");
}
#include <string>
#include <fstream>
#include <vector>
#include <sstream>
using namespace std;
string save_bin(const vector<string>& text, const string& path = "database.bin") {
ofstream db(path, ios::binary);
if (db.is_open()) {
string acc;
for (const string& line : text) acc += line + '\n';
db.write((char*)acc.c_str(), acc.length());
db.close();
return "database.bin";
}
return "";
}
string save_txt(const vector<string>& text, const string& path = "data.txt") {
ofstream out(path);
if (out.is_open()) {
for (const string& line : text) out << line << '\n';
out.close();
return "data.txt";
}
return "";
}
vector<string> load_bin(const string& path) {
vector<string> text;
ifstream op(path, ios::binary);
if (op.is_open()) {
char box[0x7FFFF] = { 0 };
op.read((char*)&box, sizeof(box));
op.close();
string line = box;
istringstream iss(line);
string tmp;
while (getline(iss, tmp)) text.push_back(tmp);
}
return text;
}
vector<string> load_txt(const string& path) {
ifstream inp(path);
vector<string> text;
if (inp.is_open()) {
string line;
while (getline(inp, line)) text.push_back(line);
inp.close();
}
return text;
}
vector<string> input_text(const size_t length) {
vector<string> text(length);
for (string& line : text) {
cout << "Введите строку: ";
getline(cin, line);
}
puts("");
return text;
}
void show(const vector<string>& text) {
for (const string& line : text) cout << line << '\n';
puts("");
}
unsigned integer(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
cin.ignore(numeric_limits<size_t>::max(), '\n');
return value;
}
int main() {
system("chcp 1251 > nul");
size_t length = integer("Введите количество строк: ");
puts("");
vector<string> text_inp = input_text(length);
string path_bin = save_bin(text_inp);
vector<string> text_bin = load_bin(path_bin);
show(text_bin);
string path_txt = save_txt(text_inp);
vector<string> text_txt = load_txt(path_txt);
show(text_txt);
system("pause > nul");
}
*илхом _8111*
спасибо
Алексей Корыщенко
Здравствуйте, хотел спросить, как вы кидаете код в ответ? Просто может сталкивались с тем, что названия библиотек стираются после публикации комментария. Я вставляю предварительно копировав в блокнот, но может есть пути лучше? Спасибо заранее
Похожие вопросы
- Помогите написать код с файлами C++
- Написать код для задачи C++
- Написал код для языка C, но работает не правильно
- Прошу помогите написать код на c++, нужно сдать сегодня ?
- Написать код на языке C++
- Программирование на C++ .Помогите написать код.
- ПРОШУ, ПОМОГИТЕ НАПИСАТЬ КОД C++
- Помогите написать код c++
- Помогите написать код C++
- Помогите дописать код с массивом C++