Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.56
prosto_lynx
49 / 24 / 1
Регистрация: 09.06.2008
Сообщений: 226
#1

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

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

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

Суть проблемы:
с USB-порта идет информация (в каких количествах и как часто - заранее не известно), но её нужно последовательно обрабатывать.... т.е. считывать в той же последовательности, но через некоторое время....
у меня такая программа реализована с помощью char-массивов:
1) всю пришедшую информацию дописываю в имеющийся массив.
2) при обработке некоторого количества информации из начала массива (той, которая пришла раньше всего), я переписываю всю оставшуюся часть массива на первые места (с помощью memcpy), что бы в массиве у меня снова хранилась информация, считанная с порта, но еще не обработанная...
P.S. Но при такой реализации, мне кажется, очень нерационально используется комп: постоянное переписывание массивов данных - дело не правильное!...((
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2011, 15:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос "потоковые переменные"... или что-то в этом роде... (C++):

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

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

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

Что можно сказать об этом #include "stdafx.h" - C++
За что оно отвечает и где его можно использовать?! Много раз встречал но так и не понял зачем оно! #include "stdafx.h"

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Что применить "\n" или "endl"? - C++
Эти две операции похожи - они переходят на новую строку. Но endl очищает буфер, но при этом дольше выполняется. Так что же лучше...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
04.02.2011, 15:45 #2
если на с++ пишете, то логично использовать 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 / 24 / 1
Регистрация: 09.06.2008
Сообщений: 226
08.02.2011, 15:12  [ТС] #3
Спасибо, более менее разобрался...

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

я пробовал использовать
C++
1
basic_stringstream<int> b( stringstream::in | stringstream::out );
(прародитель stringstream)
но оно работает по совсем другому принципу, можно как-нить по-извращаться и использовать поток в прямом смысле, но пока не знаю как
можно посмотреть как поток реализован
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2011, 17:55
Привет! Вот еще темы с ответами:

Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел - C++
Вставить пробел после каждого символа &quot;.&quot; &quot;,&quot; &quot;!&quot; или &quot;?&quot;, если за этими символами не следует пробел (т. е. следует любой символ, кроме...

Переменные "емкость", "Галлон", "Бензин" - C++
Здравствуйте, Всем, будьте снисходительны, по Дейтелу изучаю C++, дана задача, туплю, не понимаю, как обозначаить переменные &quot;галлон&quot;,...

С++ консольное приложение win32, матерится на первое "pow" после "if", а на "system" говорит что неопределён. - C++
#define _CRT_SECURE_NO_WARNINGS #include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #define Pi 3.1416 #include &lt;clocale&gt;...

Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день","Суббота" или "Воскресенье" - C++
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: &quot;Рабочий день&quot;,&quot;Суббота&quot; или...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.02.2011, 17:55
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru