getline dodaje spacje pomiędzy znakami

getline dodaje spacje pomiędzy znakami
NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0

plik message.txt:

Kopiuj
01110100 

wiadomość na konsoli:

Kopiuj
■0 1 1 1 0 1 0 0 

kod programu
#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{
string line;
fstream file("message.txt",ios::in);
if (file.good())
{
while (!file.eof())
{
getline(file,line);
cout << line << endl;
}
file.close();
}
return 0;
}

Kopiuj
jak to naprawić by wczytał prawdziwą zawartość?
NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0

wstawia spacje,dziwny znak oraz znak nowej linii na końcu i nie jest to związane z endl(usunąłem, ten sam efekt tylko nie daje znaku nowej linii)

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Wstaw tu ten swój plik jako załącznik. Bo ja myśle że on wcale nie wygląda tak jak go nam pokazałeś.
Albo go sobie otwórz hexedytorem i zobacz jak wygląda w rzeczywistości ;]

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Otwórz plik notatnikiem, wybierz zapisz jako, wskaż ten sam plik ale podaj kodowanie ASCII.
Inne kodowania wstawiają specjalne znaki na początku pliku.

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0

no faktycznie zmiana z unicode na ansi naprawiła wszystkie problemy

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.