У меня есть следующая функция, которая сохраняет в текстовом файле содержимое в определенном формате следующим образом:
#include <fstream>
#include <iostream>
#include <iomanip>
int main ()
{
using namespace std;
fstream fs;
string str1 = string("1");
string str2 = string("12");
string str3 = string("123");
string str4 = string("1234");
fs.open ("text.txt", std::fstream::in | std::fstream::out | std::fstream::app);
fs << left << setfill(' ')
<< setw(10) << str1 << " | "
<< setw(10) << str2 << " | "
<< setw(10) << str3 << " | "
<< setw(10) << str4 << '\n';
fs.close();
return 0;
}
После выполнения следующей программы в файле появляется следующий текст:
POS = 0123456789012345678901234567890123456789
TXT = 1 | 12 | 123 | 1234 |
И эта функция читает содержимое файла:
#include<iostream>
#include<fstream>
using namespace std;
int main() {
ifstream myReadFile;
myReadFile.open("text.txt");
char output[100];
if (myReadFile.is_open()) {
while (!myReadFile.eof()) {
myReadFile >> output;
}
cout<<output;
}
myReadFile.close();
return 0;
}
Проблема в том, что когда я показываю содержимое переменной output
, она теряет формат, который был внутри текста, и выглядит так:
POS = 0123456789012345678901234567890123456789
TXT = 1|12|123|1234|
Как получить текст в том формате, в котором он находится внутри файла?