Портативный способ определения разделителя строк платформыC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Портативный способ определения разделителя строк платформы

Сообщение Anonymous »

На разных платформах используются разные схемы разделителя строк (LF, CR-LF, CR, NEL, Unicode LINE SEPARATOR и т. д.). Библиотеки времени выполнения C++ (и C) делают многое из этого прозрачным для большинства программ, преобразуя '\n' в собственную кодировку новой строки целевой платформы и из нее. Но если вашей программе необходимо определить фактическую используемую последовательность байтов, как вы можете сделать это портативно?

Лучший метод, который я придумал, это:
  • Запишите временный файл в текстовом режиме, добавив в него только '\n', позволяя среде выполнения выполнить перевод.
    Прочитайте временный файл в двоичном режиме, чтобы увидеть фактические байты.
Это кажется неуклюжим. Есть ли способ сделать это без временных файлов? Вместо этого я попробовал строковые потоки, но среда выполнения на самом деле не переводит '\n' в этом контексте (что имеет смысл). Предоставляет ли среда выполнения эту информацию каким-либо другим способом?

Подробнее здесь: https://stackoverflow.com/questions/275 ... -separator
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Портативный способ определения разделителя строк платформы
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Попытка использовать драйвер селена и портативный хром Chrome_undected и портативный хром
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Портативный способ помещения аргументов в стек вызовов (C++)
    Anonymous » » в форуме C++
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Портативный способ исключить каталоги lcov
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Существует ли портативный способ вывести текущий интерпретатор Python?
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»