Что такое символ новой строки в языке C: \ r или \ n?

Ну, это может быть не совсем то, что вы ищете, но PHP имеет несколько встроенных функций, которые будут выводить использование памяти. Если вы просто хотели узнать, сколько памяти использует вызов функции, вы можете использовать memory_get_peak_usage () до и после вызова и принять разницу.

Вы используете тот же метод вокруг ваших данных, используя очень похожее memory_get_usage () .

Довольно простой подход, но это быстрый способ проверить фрагмент кода. Я согласен с тем, что дельтах xdebug mem может быть слишком многословным, чтобы иногда быть полезным, поэтому я часто просто использую его, чтобы сузить до раздела кода, а затем выгрузить конкретное использование памяти для небольших фрагментов вручную.

21
задан jub0bs 9 October 2014 в 12:25
поделиться

4 ответа

Это \n. Когда вы читаете или пишете файлы в текстовом режиме или в stdin / stdout и т. Д., Вы должны использовать \n, и C выполнит перевод за вас. Когда вы имеете дело с двоичными файлами, по определению вы сами.

46
ответ дан Paul Griffiths 9 October 2014 в 12:25
поделиться

Если вы подразумеваете под новой строкой символ новой строки , то это \ n , а \ r - символ возврата носителя , но если Под новой строкой подразумевается конец строки, тогда это зависит от операционной системы: DOS использует возврат каретки и перевод строки ( "\ r \ n" ) в качестве окончания строки, а Unix использует только перевод строки ( "\ п" )

8
ответ дан pavel.lazar 9 October 2014 в 12:25
поделиться

'\ r' = возврат каретки и '\ n' = перевод строки.

На самом деле, при использовании их в разных операционных системах существуют разные способы поведения. В Unix это '\ n', но в Windows это '\ r' '\ n'.

4
ответ дан Peter Mortensen 9 October 2014 в 12:25
поделиться

Новая строка может рассматриваться как некая char и имеет значение '\n'. C11 5.2.1

Эта новая строка C появляется в 3 местах: исходный код C, как один char и как конец строки в файле ввода-вывода, когда в тексте режим.

  1. Многие компиляторы будут обрабатывать исходный текст как ASCII. В этом случае коды 10, иногда 13, а иногда и спаренные 13,10 в качестве новой строки для исходного кода. Если исходный код находится в другом наборе символов, могут использоваться другие коды. Эта новая строка обычно отмечает конец строки исходного кода (на самом деле здесь все немного сложнее), директивы // comment и #.

  2. В исходном коде 2 символа \ и n представляют новую строку char как \n. Если используется ASCII, этот char будет иметь значение 10.

  3. В файле ввода-вывода, в текстовом режиме , при чтении байтов входного файла (и стандартного ввода), в зависимости от среды , когда байты с значения 10 (Unix), 13,10 , (* 1) (Windows), 13 (Old Mac ??) и другие варианты переводятся в '\ n'. После записи файла (или stdout) происходит обратный перевод.
    Примечание. Файловый ввод / вывод в двоичном режиме не переводит.

'\r' в исходном коде - возврат каретки char.

(* 1) Одинокий 13 и / или 10 также может переводиться в \n.

12
ответ дан chux 9 October 2014 в 12:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: