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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Очистка буфера ostrstream 
V
    Опции темы
Kuvaldis
Дата 30.3.2007, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Вот пример кода. Не получается очистить буфер.
Код

//---------------------------------------------------------------------------
#include <strstream>
#include <iostream>
#include <conio.h>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
    ostrstream outputString;
    char* ptr;

    outputString <<  10 << ends;
    ptr = outputString.str();
    cout << ptr << endl << endl;

    outputString.freeze(false);    // ?????????
    outputString.clear();
    outputString.flush();

    outputString << 20;
    ptr = outputString.str();
    cout << ptr << endl;

    getch();
    return 0;
}
//---------------------------------------------------------------------------


Буду рад конструктивной критике


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


Эксперт
***


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

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



Цитата(Kuvaldis @  30.3.2007,  12:01 Найти цитируемый пост)
Буду рад конструктивной критике

почему ostrstream , а не ostringstream ????
ostrstream не рекомендован к использованию. ostringstream лучшее управление памятью и очистить его можно ostringstream::str("")

Добавлено через 9 минут и 26 секунд
 smile 
Код

outputString.clear();

это не очищение буфера, это очищение флагов состояния....  smile 
PM MAIL   Вверх
Kuvaldis
Дата 30.3.2007, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Fazil6
Цитата

почему ostrstream , а не ostringstream ????

Про что в книге прочитал... smile 
Цитата

это не очищение буфера, это очищение флагов состояния.... 

Да знаю я. После же flsush() не для красоты написал. Просто уже ничего не помогало. Думал, может дело во флагах. :(

Написал через sstream. Работает smile Сиба

P.S. Интересно, а по сабжу, все таки очистить можно?


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


Шустрый
*


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

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



может вот так
Код

    outputString.seekp(0);
    outputString.freeze(false);    // ?????????
    outputString.clear();

PM MAIL   Вверх
Kuvaldis
Дата 30.3.2007, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



_stranger_
Лови в репу smile 


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


Опытный
**


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

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



попробуй так
Код

outputString.str("");
();


--------------------
korbian ©
PM   Вверх
Fazil6
Дата 30.3.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(korbian @  30.3.2007,  14:48 Найти цитируемый пост)
попробуй так


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

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

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

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

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


 




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


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

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