Witam.
Chciałem napisać program, który wrzuci zawartość pliku tekstowego do stringa. Dodatkowo program ten po natrafieniu na przecinek zamieni go na kropkę. Niestety program nie działa tak jak chciałem. Po natrafieniu na spację program przestaje wczytywać pozostałą zawartość pliku a ja nie wiem jak temu zaradzić.
Proszę o pomoc w rozwiązaniu tego problemu.
Poniżej zamieszczam kod programu i plik tekstowy.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
fstream plik;
char nazwa_pliku[50];
float baza[12][12];
string znak;
string plik_kopia;
for(int sukces = 0; !sukces; )
{
cout << "Podaj nazwe pliku z parametrami niezawodnosciowymi stacji SN/nn: ";
cin >> nazwa_pliku;
plik.open(nazwa_pliku);
if(!plik)
{
cout << "Bledna nazwa pliku!" << endl;
plik.clear(plik.rdstate() & ~ios::failbit);
}
else
{
sukces = 1;
plik.close();
}
}
plik.open(nazwa_pliku, ios::in);
do
{
plik >> znak;
if(znak == ",")
{
znak = ".";
plik_kopia.append(znak);
}
else
{
plik_kopia.append(znak);
}
}
while(plik.eof());
plik.close();
cout << plik_kopia;
cin.ignore();
getchar();
}
PLIK Z DANYMI DO OBLICZANIA NIEZAWODNOŚCI STACJI TRANSFORMATOROWYCH SN/nn
Urządzenie | Transformatory | Wyłączniki | Odłączniki |
--------------------------|--- ------------------------------ ---------|
Czas trwania awarii: | |
--------------------------|--- ------------------------------ ---------|
ta | 8,22 | 15.00 | 10.92 |
--------------------------|--- -------------|------------|--- ---------|
Intensywność awarii r | 65.10 | 85.95 | 25.13 |
--------------------------|--- -------------|------------|--- ---------|
Intensywność odnowy u | 1065,46 | 583.89 | 802.87 |
--------------------------|--- -------------|------------|--- ---------|
Współczynnik zawodności q | 6.11 | 14.72 | 3.13 |