Разница между print() и println()

В чем разница между print() и println()?
Я ничего не вижу, когда запускаю код.

, 👍8

Обсуждение

Действительно? Попробуйте несколько из каждого по порядку и посмотрите, заметите ли вы какую-либо разницу., @Wirewrap

Да, теперь я вижу разницу, @Phyman 100

Ответ на этот вопрос можно было легко найти на сайте Arduino., @Mathsman 100

«ln» из «println» происходит от «line», что означает, что в конце будет напечатан символ новой строки., @rslite


4 ответа


Лучший ответ:

6

print() печатает все, что вы отправляете.
println() делает то же самое, только после использования println все новое, что печатается, печатается в следующей строке, т.е. формируется новая строка.

,

Не могли бы вы опубликовать свой код, пожалуйста, так как мой ответ сейчас неполный., @Mathsman 100


1

Метод print("aString") печатает только строку "aString", но не перемещает курсор на новую строку. Следовательно, последующие инструкции по печати будут печататься в той же строке.

Метод println("aString") печатает строку "aString" и перемещает курсор на новую строку.

Метод println() также можно использовать без параметров, чтобы поместить курсор на следующую строку.

С уважением

,

8

Легкий способ увидеть разницу — использовать Serial.print();/Serial.println();.

print();

распечатает все, что вы вводите, где бы в данный момент ни находился курсор. Например:

Serial.print("Test");
Serial.print("Words");

Это напечатает:

TestWords_

Подчеркивание отмечает место, где находится курсор (и, следовательно, начало следующей команды печати). Напротив, код:

Serial.println("Test");
Serial.println("Words");

выведет следующее:

Test
Words
_

Вы также можете напечатать несколько операторов, а затем использовать println следующим образом (обратите внимание на пробел в конце/начале строк):

Serial.print("These ");
Serial.print("Test");
Serial.println(" Words.");

чтобы получить следующий результат:

These Test Words.
_

Вы также можете использовать println(); для добавления символа новой строки. Если вы хотите напечатать переменную, которая не возвращает символ новой строки, для форматирования можно использовать println();. Пример:

int x = 50;
Serial.print(x);
Serial.println();

Это напечатает:

50
_

Наконец, вы можете добавить в кавычки специальные символы, такие как табуляция \t, для форматирования. Пример:

Serial.println("Test\tTest")

Это вернет:

Test    Test
_
,

Ваш ответ говорит нам, что функция println() печатает то, что находится в скобках, а затем печатает символ новой строки, а не сначала печатает символ новой строки, а затем печатает то, что находится внутри скобок. Ваша идея подчеркивания для отображения позиции курсора очень хороша. +1 за все это., @Devesh Saini


1

print() печатает то, что вы хотите, но в одну строку.

Например,

Serial.print("Hello");

Затем вывод в Serial Monitor будет выглядеть так:

HelloHelloHelloHelloHello

println() печатает то же самое, но в новой строке.

Например,

Serial.println("Hello");

Затем вывод в Serial Monitor будет выглядеть так:

Hello
Hello
Hello
Hello
Hello
,