Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 198, средняя оценка - 4.80
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
#1

endl - C++

22.01.2011, 21:13. Просмотров 29741. Ответов 28
Метки нет (Все метки)

Объясните пожалуйста зачем вставлять эту функцию после выводимого потока
например:
cout<<....<<endl;

Зачем она нужна и что выполняет?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2011, 21:13     endl
Посмотрите здесь:

Какого типа std::endl ? Как сделать так, чтобы функция могла принимать endl в качестве аргумента? - C++
Что надо указать в прототипе функции, чтобы можно передавать std::endl в качестве аргумента? Уже 3 часа голову ломаю! :wall: Помогите,...

endl - C++
#include &lt;iostream&gt; int main() { using std::cout; using std::endl; unsigned short int Width = 5, Length; Length =...

`endl' undeclared (first use in this function) - C++
#include &lt;stdio.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() { double (*pf)(double x); ...

Что делает endl - C++
Код типа cout &lt;&lt; &quot;blahblahblah&quot; &lt;&lt; endl зачем там endl, вроде и без него все нормально работает

Символ '\n' и манипулятор endl - C++
Встретил в одной книге вот такое выражение (дословно): Если операционная система не использует буферизацию вывода, то между символом...

endl необъявленный идентификатор - C++
Почему компилятор использует endl, как переменную, а не переход на новую строку?

Можно ли заменить \n на endl ? - C++
Есть два рабочих кода.Я экспериментировал с ними в одном кодк где оператор count, &quot;endl&quot; можно заменить \n. Но в коде где функция printf...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
22.01.2011, 21:14     endl #2
перенос на новую строку. аналогично '\n'
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
22.01.2011, 21:21     endl #3
+ очищает поток.
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
23.01.2011, 13:12  [ТС]     endl #4
asics, а нужна ли эта самая очистка потока, что будет если endl не ставить
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
23.01.2011, 14:44     endl #5
sunlight17, не смертельно
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
23.01.2011, 15:06     endl #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от sunlight17 Посмотреть сообщение
asics, а нужна ли эта самая очистка потока, что будет если endl не ставить
Зависит от того, как тебе нужно выводить.
C++
1
2
3
4
5
    for(int i=0; i<10; i++)
    {
        std::cout << i; 
        sleep(1);
    }
Сбросит в поток все числа от 0 до 9 одновременно через 10 секунд.
C++
1
2
3
4
5
    for(int i=0; i<10; i++)
    {
        std::cout << i << std::endl; 
        sleep(1);
    }
Будет выводить по одному числу в секунду.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
23.01.2011, 16:25     endl #7
Цитата Сообщение от sunlight17 Посмотреть сообщение
asics, а нужна ли эта самая очистка потока, что будет если endl не ставить
В буферизированных потоках это будет гарантией того, что данные попадут непосредственно в поток в нужное время (естественно, если не случилось никаких других ошибок)
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
24.01.2011, 16:42  [ТС]     endl #8
всем спс

Добавлено через 4 минуты
Vourhey, у меня почему-то в в строке :
sleep(1);
выдаёт ошибку, для этого функции нужно что-нибудь инклудидь?

Добавлено через 1 минуту
вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <conio.h>
using namespace std;
 main ()
{
for (int i=0; i<10;i++)
{
cout<<i;
sleep (1);
}
 
    getch();
    return 0;
}
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
24.01.2011, 16:43     endl #9
sunlight17, Подключи windows.h
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
24.01.2011, 16:49     endl #10
Цитата Сообщение от sunlight17 Посмотреть сообщение
sleep(1);
выдаёт ошибку, для этого функции нужно что-нибудь инклудидь?
unistd.h
но это для никсов
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
24.01.2011, 18:36  [ТС]     endl #11
спасибо

Добавлено через 12 минут
всё равно вылазиет ошибка, у меня сейчас винда стоит, подключение windows.h проблему почему-то не решает

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
 main ()
{
for (int i=0; i<10;i++)
{
cout<<i<<endl;
sleep (1);
}
 
    getch();
    return 0;
}
компилирую в билдере
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
24.01.2011, 18:38     endl #12
sunlight17, Не
C++
1
main()
а
C++
1
int main()
и
C++
1
#include <iostream>
замение на
C++
1
#include <iostream.h>
еще удали строчку
C++
1
using namespace std;
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
24.01.2011, 18:38     endl #13
потому что в винде это будет Sleep(1000); если винапи
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
24.01.2011, 18:49  [ТС]     endl #14
всё рано не помогает asics

Добавлено через 48 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
#include <conio.h>
#include <windows.h>
 
int main ()
{
for (int i=0; i<10;i++)
{
cout<<i<<endl;
sleep (1);
}
 
    getch();
    return 0;
}
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
24.01.2011, 18:50     endl #15
Цитата Сообщение от sunlight17 Посмотреть сообщение
#include <iostream.h>
#include <conio.h>
Жжошь
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
25.01.2011, 05:32     endl #16
Цитата Сообщение от sunlight17 Посмотреть сообщение
всё рано не помогает asics
Тебе ж сказали уже: sleep - это для *nix'ов (unistd.h), в винде пиши:
C
1
2
3
#include <windows.h>
//...
Sleep(1000);
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.01.2011, 06:08     endl #17
Цитата Сообщение от sunlight17 Посмотреть сообщение
функцию ... например: cout<<....<<endl
. endl не функция. Судя по синтаксису, это вообще константа.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
25.01.2011, 06:12     endl #18
Цитата Сообщение от taras atavin Посмотреть сообщение
. endl не функция. Судя по синтаксису, это вообще константа.
endl - это потоковый манипулятор, который, по сути, работает как функция над потоком
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.01.2011, 06:19     endl #19
Была бы функция, имела бы скобки. И "\n" работает также. "\n" работает как функция?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2011, 06:22     endl
Еще ссылки по теме:

#include <listream>. Std. Endl - C++
#include &lt;conio.h&gt; #include &lt;lostream&gt; using std:: cout; using std:: endl; int main() {

cin, cout, endl не определены - C++
Всем здрасте=) Есть исходник, он работает и всё с ним отлично, мне необходимо его обфусцировать(т.е. зашифровать путём изменения имен...

Объекты cin, cout, endl и т.п - C++
Вопрос. Можно ли использовать эти объекты по умолчанию или одной командой? Типа: using std::&quot;все объекты&quot; Лень каждый раз напомнит что...

iostream.h (непонятки с cout, endl ) - C++
дико извеняюсь, но.... если подключаю заголовочный файл (iostream.h), то его просто нет на моей системе(среда MVS2010 ето потдверждает)...

Как на последнем шагу удалить endl - C++
Как на последнем шагу удалить endl. Что бы в файле не было пустой строчки в конце


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
25.01.2011, 06:22     endl #20
taras atavin, а "\n" сбрасывает буфер для буферизированных потоков?
А чтобы не пороть глупости, я бы посоветовал почитать литературу по теме
Yandex
Объявления
25.01.2011, 06:22     endl
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru