Работа с файлами *.docx в c++
Имеется программа для формирования из списка билета,состоящего из трех вопросов. Сейчас исходные файлы расширения txt, что нужно поменять, чтобы можно было использовать файлы docx
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int a, r1, r2, r3, i;
ifstream fin("ekz.docx");
ofstream fout("voprosi.docx");
ofstream("voprosi.txt");
string line;
cout<< "Введите общее количество вопросов для экзамена:"<<endl;
cin >> a;
srand(time(0));
r1 = 1 + rand() % a;
r2 = 1 + rand() % a;
r3 = 1 + rand() % a;
while(r2==r1)
{
r2 = 1 + rand() % a;
}
while(r3==r2 or r3==r1)
{
r2 = 1 + rand() % a;
}
int k = 0;
for (size_t line_no = r1; line_no && getline(fin, line);--line_no); //выводит строку под номером,заданным r1
for (i=0; k == 0;i++)
{
if(line[i]==')' or line[i]=='.')
{
k = i + 1;
line.erase(0,k);
}
}
fout << line << endl;
k = 0;
for (size_t line_no = r2; line_no && getline(fin, line);--line_no); //выводит строку под номером,заданным r2
for (i=0; k == 0;i++)
{
if(line[i]==')' or line[i]=='.')
{
k = i + 1;
line.erase(0,k);
}
}
fout << line << endl;
k = 0;
for (size_t line_no = r3; line_no && getline(fin, line);--line_no); //выводит строку под номером,заданным r3
for (i=0; k == 0;i++)
{
if(line[i]==')' or line[i]=='.')
{
k = i + 1;
line.erase(0,k);
}
}
fout << line << endl;
fout.close();
fin.close();
cout<< "Билет из трех вопросов готов."<<endl;
return 0;
}
Ответы (1 шт):
Автор решения: user394060
→ Ссылка
Нужны специальные библиотеки для этого. Проблема в том, что мелкомягкие не открывают доступ к формату этих файлов и работать с ними из-за этого сложно.