Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для prosto_lynx
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227

"потоковые переменные"... или что-то в этом роде...

04.02.2011, 15:37. Показов 3708. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли что-нибудь типо потоковых переменных?... (нужно создать поток, в который можно писать с одной стороны и считывать с другой стороны...)

Суть проблемы:
с USB-порта идет информация (в каких количествах и как часто - заранее не известно), но её нужно последовательно обрабатывать.... т.е. считывать в той же последовательности, но через некоторое время....
у меня такая программа реализована с помощью char-массивов:
1) всю пришедшую информацию дописываю в имеющийся массив.
2) при обработке некоторого количества информации из начала массива (той, которая пришла раньше всего), я переписываю всю оставшуюся часть массива на первые места (с помощью memcpy), что бы в массиве у меня снова хранилась информация, считанная с порта, но еще не обработанная...
P.S. Но при такой реализации, мне кажется, очень нерационально используется комп: постоянное переписывание массивов данных - дело не правильное!...((
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.02.2011, 15:37
Ответы с готовыми решениями:

Клавиатурный шпион или что-то в этом роде
Помогите написать программу, реагирующую на все нажатия клавиатуры в Windows и выполняющую какие-нибудь действия в зависимости от нажатой...

массив массивов или что-то в этом роде
у меня есть число а -составное которое делится на b1,b2,...,bn; и в зависимости от bi надо создать столько динамических двумерных...

Плохо считываю файл или что то в этом роде
Здравствуйте. Проблема в том что у меня есть код который считывает из файла данные банкоматов и делает с ними разные вещи типа закидывает в...

5
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
04.02.2011, 15:45
если на с++ пишете, то логично использовать list
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <list>
#include <iostream>
 
int main(){
  std::list<size_t> list;
  for( size_t i=0;i<10;++i ){
    list.push_back( i );
  }
  for( size_t i=0;i<5;++i ){
    std::cout << list.front() << " ";
    list.pop_front();
  }
  for( size_t i=10;i<15;++i ){
    list.push_back( i );
  }
  for( size_t i=0;i<5;++i ){
    std::cout << list.front() << " ";
    list.pop_front();
  }
}
Bash
1
2
Output: 
0 1 2 3 4 5 6 7 8 9
1
 Аватар для prosto_lynx
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
08.02.2011, 15:12  [ТС]
Спасибо, более менее разобрался...

А можно ли (в C++ Builder'е 6.0) как-нибудь (при пошаговом выполнении программы) увидеть, что в данный момент в list находится?..
(как, например, на обычные переменные с контролом щелкаешь и сразу видно, чему они в данный момент равны...)
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
08.02.2011, 22:38
prosto_lynx, в visual studio можно, в билдере не знаю, но думаю наверняка
0
 Аватар для prosto_lynx
49 / 25 / 2
Регистрация: 09.06.2008
Сообщений: 227
09.02.2011, 14:49  [ТС]
А подскажите еще по поводу списков:
можно ли считать сразу n-ное количество байт из списка, (если я точно знаю, что считываю заведомо меньше элементов, чем есть в списке)?..
(вопрос родился из соображений ускорить работу в некоторых случаях...)
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
09.02.2011, 17:55
prosto_lynx, нет нельзя, тут придется использовать нечто другое
вопрос что чаще приходится делать - читать или перемещать в памяти
из вектора быстрое чтение, но перемещение дорогое
из листа чтение дольше, но перемещение считай ничего не стоит

я пробовал использовать
C++
1
basic_stringstream<int> b( stringstream::in | stringstream::out );
(прародитель stringstream)
но оно работает по совсем другому принципу, можно как-нить по-извращаться и использовать поток в прямом смысле, но пока не знаю как
можно посмотреть как поток реализован
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2011, 17:55
Помогаю со студенческими работами здесь

Подскажите, пожалуйста, учебник/статью (или что-то в этом роде) про классы
Подскажите пожалуйста, где можно найти учебник/статью (или что-то в этом роде) про классы? Нужно поскорее их изучить/понять... Заранее...

Прокси-сервер или анонимайзер или что-то в этом роде ...
Здравствуйте. Вообщем есть сервер в локальной сети. и сервер который имеет доступ в инет. и к этой же локалке. необходимо написать...

Работа с перечислением или что-то в этом роде
Здравствуйте. В своём приложении на C# я работаю с перечислением. Выглядит это так: Само перечисление: public enum...

Эффект повторения или что-то в этом роде
Добрый день, ребят, кто знает как называется эффект повторения одной картинки постоянно? То есть, бесшовное соединение начала изображения и...

Таблица зависимостей или что то в этом роде
Здравствуйте, я делают на малине &quot;ДЖАРВИСА&quot; ) сейчас занимаюсь модулем автоматики котла отопительного, так вот упёрся я в проблему которую...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru