Czytam plik tekstowy ASCII. Jest on określony przez rozmiar każdego pola, w bajtach. Na przykład. Każdy wiersz składa się z 10 bajtów dla jakiegoś ciągu, 8 bajtów dla wartości zmiennoprzecinkowej, 5 bajtów dla liczby całkowitej i tak dalej.C++ uzyskać rozmiar (w bajtach) EOL
Mój problem polega na czytaniu znaku nowej linii, który ma zmienną wielkość w zależności od systemu operacyjnego (zwykle 2 bajty dla okien i 1 bajta dla systemu Linux, jak sądzę).
Jak mogę uzyskać rozmiar znaku EOL w C++?
Na przykład w Pythonie mogę zrobić:
len(os.linesep)
Jeśli otwierasz plik w trybie tekstowym, znaki nowej linii zawsze powinny być po prostu "\ n" ", niezależnie od zakończenia linii natywnej. Czy naprawdę potrzebujesz znać natywny ciąg EOL? – Badministrator
Czy zagwarantowano, że plik został zapisany w tym samym systemie operacyjnym, w którym znajduje się twój kod, na którym się czyta? Jeśli tak, po prostu otwórz plik w trybie tekstowym (nie binarnym). – dxiv