powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Linux C++ stringbuf
7 сообщений из 7, страница 1 из 1
Linux C++ stringbuf
    #35001237
SantaClaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую! вопрос такой. есть буфер. в него записываеться некая информация. далее она удачно обрабатываеться и в буфер СНОВА должна происходить запись, но тут вылетает ошибка связанная с адресацией памяти. Скажите может кто сталкивался с stringbuf, каким образом можно его отчистить или же поставить указатель на начало. нашел функцию stringbuf::seekpos но не могу понять как работает.

std::stringbuf sb;//буфер
std::string mystr;//строка

while (!feof(pFile))//читаю файл пока не будет конец
{
result = fread(buffer,1,lSize,pFile);
std::cout << "Res:" << result << std::endl;//смотрю что в буфере
sb.sputn(buffer, BUFFSIZE);//записываю в буфер
mystr = sb.str();//присваиваю строке
std::cout << mystr << std::endl;//печатаю её
----=====----ТУТ НУЖНО ОБНУЛИТЬ БУФЕР ИЛИ ЧТО ТО С НИ СДЕЛАТЬ
}

если кто сталкивался подскажите!
...
Рейтинг: 0 / 0
Linux C++ stringbuf
    #35001800
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может, с концом строки неправильно работаешь?
...
Рейтинг: 0 / 0
Linux C++ stringbuf
    #35002257
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не трогайте пожалуйста stringbuf он для такой работы не предназнажен. Вы скажите что вы хотите изобразить, мы расскажем как.
Можно например так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
const int ISize =  1024 ;
char buffer[ISize +  1 ];

while(!foef(file))
{
  result = fread(buffer, 1 ,lSize,pFile);
  buffer[sz] = '\0';
  std::string mystring(buffer);
}
...
Рейтинг: 0 / 0
Linux C++ stringbuf
    #35003827
SantaClaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedне трогайте пожалуйста stringbuf он для такой работы не предназнажен. Вы скажите что вы хотите изобразить, мы расскажем как.
Можно например так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
const int ISize =  1024 ;
char buffer[ISize +  1 ];

while(!foef(file))
{
  result = fread(buffer, 1 ,lSize,pFile);
  buffer[sz] = '\0';
  std::string mystring(buffer);
}




Спасибо, по Вашему совету все сделал без использования стрингбуф. Все работает. Имеет такой вид:

while (!feof(pFile))
{
result = fread(buffer,1,BUFFSIZE,pFile);//буфер
std::string send_string(buffer);//записываем в строку
new_sock << send_string;//передаем в сокет
sleep(1);
}
всеработает замечательно.
Большое Спасибо!
...
Рейтинг: 0 / 0
Linux C++ stringbuf
    #35004056
SantaClaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blinded, подскажите, как можно отчистить буфер???
...
Рейтинг: 0 / 0
Linux C++ stringbuf
    #35004072
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Черного кобеля не отмоешь до бела. - man memset - в смысле проинициализировать
...
Рейтинг: 0 / 0
Linux C++ stringbuf
    #35007304
SantaClaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совершенно верно:

Вот решение: memset(buffer,'\0', buffersuze);//указываем буфер,отчищаем, весь объем буфера
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Linux C++ stringbuf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]