Wczytywanie tekstu z pliku, zamiana liter, zapis do pliku.

0

Czesc,
Mam do napisania program w C++, który będzie wczytywał z pliku tekstowego (utworzonego przeze mnie wcześniej w tym samym folderze co program) kilka dowolnych zdań, zamieniał litery małe na duże oraz zapisywał z powrotem do tego samego pliku. Poniżej kod, który udało mi się napisać. Niestety nie wczytują się i nie zapisują spacje oraz na początku i na końcu tekstu pojawiają się jakieś dziwne znaczki. Mógłby ktoś mi pomóc usunąć ten problem? Z góry dzięki.

#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
ifstream plik("tekst.txt");
char tablica[252];
char duze[252];

for (int i=0; i<252; i++) {
    plik >> tablica[i];
}

for (int i=0; tablica[i]!=0; i++) {
    cout << tablica[i];
}

cout<<endl<<"Tekst z pliku po zamianie liter: "<<endl;
strcpy(duze,tablica);

for(int i=0; duze[i]; i++) duze[i]=toupper(duze[i]);
cout<<duze<<endl;

ofstream drugi("tekst.txt");
drugi << duze;
drugi.close();


system("PAUSE");
return EXIT_SUCCESS;

}

0

operator >> wczytuje dane rozdzielone spacjami generalnie, np jeśli wprowadzisz dane 123 456 789 to możesz je odczytać

int a,b,c; cin>>a>>b>>c

jeśli chcesz wczytywać po znaku, to lepiej używać get()

może lepiej byłoby zrobić coś na kształt kodu z [dowolny] Proste obliczanie z odpowiednią zamianą małych na duże?

1 użytkowników online, w tym zalogowanych: 0, gości: 1