Как записать из файла в структуру, а потом в другой файл, не используя потоки

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

Примерное содержание файла ( таких строк может быть сколько угодно ):

БМВ Е214У Москва 4 512 91231

Есть решение с использованием потоков:

#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <sstream>

using namespace std;



int main()
{
    setlocale(LC_ALL, "Russian");
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int x = 0, y = 0;
    string strf,vibor2;
    int vibor1;
    struct Car
    {

        string number;
        string name;
        string punkt;
        int ves;
        int gryz;
        int stoim;
    };
    string stra;
    ifstream in ("D://file.txt");
    int count = 0;
    getline(in, stra, '\0');
    in.seekg(0);
    while (getline(in, strf))
    {
        y++;
    }
    stringstream ff;
    ff.str(stra);
    Car* mas = new Car[y];
    for (int i = 0; i < y; i++) {
        ff >>  mas[i].name >>  mas[i].number >> mas[i].punkt  >> mas[i].ves >> mas[i].gryz >> mas[i].stoim;
    }
    ofstream file1("D://file2.txt");
    file1 << "Автомобили грузоподъемностью больше 2-ух тонн:" << '\n' << '\n';
    for (int i = 0; i < y; i++) {
        if (mas[i].ves > 2) {
            file1 << mas[i].name << " " << mas[i].number << " " << mas[i].punkt << " " << mas[i].ves << " " << mas[i].gryz << " "<< mas[i].stoim << '\n';
        }
    }
    cout << "Запись в файл произведена." << endl;


}

Но нужно сделать без использования потоков. Как мне сказали надо использовать fopen и вот на что меня хватило:

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <sstream>
#include <conio.h>
#include <algorithm>


#include <iomanip>

using namespace std;



int main()
{
    setlocale(LC_ALL, "Russian");
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int x = 0, y = 0;
    string strf,vibor2;
    int vibor1;
    struct Car
    {

        char number[5];
        char name[25];
        char punkt[25];
        int ves;
        int gryz;
        int stoim;
    };
    Car cars;
    FILE* f;
    string stra;
    f = fopen("D://file.txt", "rt");

}


Ответы (0 шт):