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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 201, средняя оценка - 4.78
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
#1

Что такое возврат каретки? - C++

03.10.2009, 22:24. Просмотров 25984. Ответов 6
Метки нет (Все метки)

\r - что делает этот управляющий символ, и чем он отличается от \n?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2009, 22:24     Что такое возврат каретки?
Посмотрите здесь:

C++ Код не работает,говорит,что не знает,что такое delay(100).в чём проблема?как сделать,чтоб программа заработала?
Что такое перегрузка оператора? Что у меня в коде за ошибка? C++
C++ Что такое #, include, что это означает
В этой части кода происходит объявление функций? Что такое void? Что в скобках? C++
Вывод в консоль и возврат каретки C++
C++ Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
novi4ok
550 / 503 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.10.2009, 22:40     Что такое возврат каретки? #2
оба ведут свою историю от телетайпных аппаратов. \r - carriage return. означает возврат каретки \n - new line - перевод строки. сегодня "стандарт windows" использует последовательность \r\n в качестве "новая строка". "юникс-стандарт" - только \n
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
03.10.2009, 22:45  [ТС]     Что такое возврат каретки? #3
Ну если его напечатать в строке, то ничего такого на вид он не делает. Все же, что конкретно делает это символ?
Alexiski
Любитель давать советы
338 / 130 / 2
Регистрация: 12.01.2009
Сообщений: 511
03.10.2009, 22:55     Что такое возврат каретки? #4
Грубо говоря, предполагалось, что \r обнулит номер символа. оставляя неизменным номер строки (т.е. сдвинет каретку пишущей машинки к началу строки, не трогая бумагу), а \n - наоборот, сделает переход к следующей строке, оставляя текущую позицию печати неизменной (прокрутит бумагу, не трогая каретку).

Именно так, кстати, ведут себя эти символы при "телетайпном" выводе функциями MS DOS.
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
03.10.2009, 22:59  [ТС]     Что такое возврат каретки? #5
Хм. А чем с практической точки зрения различаются - \r\n и \n в Виндузе?
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.10.2009, 07:42     Что такое возврат каретки? #6
блокнот умеет читать только \r\n
когда виндовс делали, многие системы юзали \n для перевода, а другие \r, поэтому, может и началось это всё с доса, виндовс включает оба вида

пример

C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
main()
{
    printf("x\r");
    printf("yy\r");
    printf("z\r");
    putchar('\n');
    return 0;
}
остаётся zy
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2009, 12:01     Что такое возврат каретки?
Еще ссылки по теме:

Возврат каретки консоли! C++
C++ Что такое хэндлер файла? Что такое файловый указатель?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? C++
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них C++
Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере C++

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

Или воспользуйтесь поиском по форуму:
Ёрик
46 / 46 / 2
Регистрация: 07.01.2009
Сообщений: 298
04.10.2009, 12:01     Что такое возврат каретки? #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Покажу на MS-DOS.

Если все время в конце строки будет возврат каретки,то будет каждый раз затираться надпись,т.е. она сдвинется к началу строки:
Hello,world!*
Курсор стоит на позиции *.
Когда будет возврат каретки, то курсор сдвинется на начало строки:
*Hello,world!
И тогда каждый раз одно и тоже слово будет затираться,а наглядно мы результат не увидим.
А если мы будем выводить с переводом строки, то позиция курсора останется на месте,только сменится номер строки:
(см рисунок вложенный)
Чтобы сделать перейти на новую строку и поместить курсор в начало,то нужно выводить полсе слова сначала возврат каретки,а потом перевод строки:
Тогда все будет приятно выглядеть.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
code_seg segment
        ASSUME  CS:code_seg,DS:code_seg,ES:code_seg
    org 100h
start:
 
 call PRINT      
 call PRINT 
 call PRINT
 call PRINT
 int 20h
  
  
  
msg2        DB  'Hello,world!',13,10,'$'
;============================================================================
PRINT       PROC NEAR
    MOV AH,09H
    mov DX,offset msg2 
    INT 21H
    RET
PRINT       ENDP
;;============================================================================
code_seg ends
         end start
Hello,world!
Hello,world!
Hello,world!
Миниатюры
Что такое возврат каретки?  
Yandex
Объявления
04.10.2009, 12:01     Что такое возврат каретки?
Ответ Создать тему
Опции темы

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