Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++]вывод спец символов 
V
    Опции темы
serakuz
Дата 23.6.2007, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Здравствуйте господа программисты!!!
Как в данной задаче:

Напишите программу, копирующую вводимые символы в выходной поток с заменой символа табуляции на \t, символа забоя на \b и каждой обратной наклонной черты на \\. Это сделает видимыми все символы табуляции и забоя.

Выводить на печать символы:
"\n" - новая строка
"\t" - табуляция 
"\"   и т.д.
                      
PM MAIL   Вверх
MAKCim
Дата 23.6.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 6
Всего: 207



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
zkv
Дата 23.6.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 21
Всего: 92



serakuz, вопрос в чем?
PM MAIL   Вверх
GIK
Дата 23.6.2007, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 4
Всего: 14



Да, несовсем ясна задача, возможно имелось ввиду просто один символ, например t, выводить как \t, а одну косую черту на \\. ?


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
serakuz
Дата 23.6.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Эта задача из учебника: 

Б. Керниган, Д. Ритчи
Язык программирования Си

Я только осваиваю язык С, вопрос в том при помощи каких функций выводить на печать не печатные символя (\t, \n).


PM MAIL   Вверх
archimed7592
Дата 23.6.2007, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: нет
Всего: 93



при помощи тех же, что и печатные:
Код

printf("Hello world!\n\t1\n\t\t2\n\t\t\t3\n");



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
zkv
Дата 23.6.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 21
Всего: 92



Цитата(serakuz @  23.6.2007,  11:53 Найти цитируемый пост)
при помощи каких функций выводить на печать не печатные символя (\t, \n)

такими же функциями, какими выводите обычные
Код

printf("\t\n");

PM MAIL   Вверх
serakuz
Дата 23.6.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Не такое никатит новая строка, табуляция курсор переносится, но сами символы непечатаются
нужно вывести на экран символы '\t', '\n', '\\'  и т.д.

Это сообщение отредактировал(а) serakuz - 23.6.2007, 12:07
PM MAIL   Вверх
DigitSphinx
Дата 23.6.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



serakuz, Тебе надо именно символы вывести ?
Тогда так
Код

printf("\\n - Новая строка\n\\t - табуляция\n\\  - черт знает как называется\n");


Добавлено через 2 минуты и 11 секунд
Да тебе именно это и надо было  smile 

Это сообщение отредактировал(а) DigitSphinx - 23.6.2007, 12:15


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
serakuz
Дата 23.6.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Большое Спасибо. 

Теперь все как надо, интересно где про это было написано?

PM MAIL   Вверх
DigitSphinx
Дата 23.6.2007, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



Цитата(serakuz @  23.6.2007,  13:26 Найти цитируемый пост)
 интересно где про это было написано?

про что ?


--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
serakuz
Дата 23.6.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



про то чтобы вывести на печать "\t" нужно "\\t\"
PM MAIL   Вверх
DigitSphinx
Дата 23.6.2007, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 28.4.2007
Где: Москва

Репутация: 1
Всего: 3



Нет не “\\t\”  а просто \\t  вторая “\” относится к “\n”
Если тебе нужно перейти на новую строку то “\n”
А если вывести то “\\n”



--------------------
Чтобы пробить стену лбом нужен или большой разбег, или много лбов.
(Альберт Эйнштейн)
Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал.
(Альберт Эйнштейн)
user posted image
PM MAIL ICQ   Вверх
serakuz
Дата 23.6.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 23.6.2007

Репутация: нет
Всего: нет



Да да все так и есть
Большое спасибо.
PM MAIL   Вверх
zkv
Дата 23.6.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 21
Всего: 92



на этапе компиляции строка проверяется на наличие Escape-последовательностей, признаком начала такой последовательности служит обратный слэш - '\', те сам он не воспринимается за символ, а только служит признаком начала такой последовательности. Последовательности эти нужны чтобы мы могли выводить всякие непечатные и служебные символы: 
Цитата(Позаимствовано из простор сети)

\n    new line
\t    horizontal tab
\a    bell sound
\\    Backslash
\?    question mark (?)
\"    double quotation
\’    Apostrophe
\0    Null character (used in strings)

Таким образом, чтобы вывести символ \ на экран применяется escape-последовательность '\\', и запись вида "\\n" будет интерпретироваться как обратный слэш, с последующим символом 'n'
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.