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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строки и перенаправление, 2 маленьких вопроса по С++ 
V
    Опции темы
zhenium
Дата 12.11.2006, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вот у меня возникло два вопроса по С++:
1) Пусть вводим строку определённой длины. Как сделать, чтобы при вводе длины, большей заданной, лишний отрезок просто отрезался?
2) Объясните, как перенаправить cout в stderr ( типа fprintf( stderr... ) в Си).

P.S. Просьба к администрации: не наказывайте за два вопроса в одной теме...
PM MAIL   Вверх
Kuvaldis
Дата 12.11.2006, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


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

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



zhenium, 
Цитата

) Пусть вводим строку определённой длины. Как сделать, чтобы при вводе длины, большей заданной, лишний отрезок просто отрезался?

Код

        cin.getline(str, COUNT);  // считываем COUNT - 1 символ
        cin.clear();                      // лишнее из буфера удалить, что вводили сверх нормы



--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
vinter
Дата 12.11.2006, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Kuvaldis
Код

 cin.clear();     

ниче не очищает, как сделать чтобы реально очищало(чтобы все сиволы из потока удалить)??



--------------------
Мой блог
PM MAIL WWW   Вверх
Oleg_Ci
Дата 12.11.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Friend
**


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

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



Это удаляет из буфера всё 
Код

cin.sync();

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


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Олег4 спасибо


--------------------
Мой блог
PM MAIL WWW   Вверх
zhenium
Дата 12.11.2006, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Отлично, первый вопрос решён! А как поступить со вторым?
PM MAIL   Вверх
Daevaorn
Дата 12.11.2006, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

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



Цитата(zhenium @  12.11.2006,  02:07 Найти цитируемый пост)
2) Объясните, как перенаправить cout в stderr ( типа fprintf( stderr... ) в Си).

 fprintf( stderr... )  - не совсем перенаправление.
А в с++ есть std::cerr
PM MAIL WWW   Вверх
zhenium
Дата 12.11.2006, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



>>> Daevaorn
Извини, просто не правильно выразился.
Пожалуйста, поясни на примере, а то мне не очень понятно, как применить...

К примеру, если в Си у нас есть:
Код

fprintf( stderr, "Ошибка..." );


то как это в С++ выглядеть будет?
PM MAIL   Вверх
Daevaorn
Дата 12.11.2006, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

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



Цитата(zhenium @  12.11.2006,  23:21 Найти цитируемый пост)
то как это в С++ выглядеть будет? 

Код

std::cerr  << "Ошибка..." ;

PM MAIL WWW   Вверх
zhenium
Дата 12.11.2006, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

 std::cerr  << "Ошибка..." ; 


В моём компиляторе (Borland С++ 3.1) выдаёт ошибку:
Цитата

Type qualifier "std" must be a struct or a class name.


Есть какие-нибудь пути разрешения этой проблемы?
PM MAIL   Вверх
archimed7592
Дата 12.11.2006, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



а std::cout << "..." работает?
нет? тогда cerr << "..." должно работать.


--------------------
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   Вверх
urush
Дата 12.11.2006, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 smile    Если мне не изменяет память то в среде разработки Borland С++ 3.1 не поддерживается пространство имен std, и вообще любое пространство имен;
 smile 
PM MAIL   Вверх
zhenium
Дата 12.11.2006, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



>>> Urush
Я знаю о том, что пространство имён в нём не поддерживается...

>>> archimed7592 
Всё отлично!!! Помог твой совет!

Теперь все вопросы исчерпаны!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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