Wprowadzanie danych z pliku poprzez getc()

0

Witam.
Mam problem z wprowadzaniem danych metodą getc() z pliku

Dane w pliku:
s LR
o LRR
m RR
itp.

Chciałbym z pomocą pętli while i metodą getc() otrzymac efekt :
sLRoLRRmRR (znaki bez spacji)
Z pomocą cin wszystko jest ok, a z getc() wypisuje mi białe znaki

while (cin>>temp)
{
    cout << temp;
}

Tak jest ok.

while((temp=getc())!=EOF)
{
    cout << temp;
}

Tak jest zle.

1

getc czyta wszystkie znaki - białe tez.więc musiałby być warunek pomijający wypisanie takowych.

0

Znalazłem sposób na wyciąganie samych cyfr bez białych znaków, ale nigdzie nie mogę znaleźć rozwiązania dla znaków
Domyślam się że musi zostać ominięty zakres z kodu ASCII zawierający białe znaki, ale nie wiem jaki to zakres.

inline void readUI(int *n) //tylko dodatnie
{
    register char c = 0;
    while (c < 33) c=getc_unlocked(stdin);
    (*n) = 0;
    while (c>32) {(*n)=(*n)*10LL + (c-48); c=getc_unlocked(stdin);}
}

Jest możliwość przerobienia tego pod znaki?

0

Problem rozwiązany, wyłapałem warunkiem if zbędne znaki których nie biorę pod uwagę. Kody ASCII spacja 32, nowa linia 10. Rozwiązanie dość śmiesznie banalne - myślałem że da się jakoś przerobić getc, żeby omijał białe znaki. Pozdrawiam

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