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

Подключить устройство через COM-порт и отправить на него данные - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа для печати всех файлов из указанной папки http://www.cyberforum.ru/cpp/thread110488.html
Добрый день! Весь интеренет облазил не могу найти прогу которая будет печатать файл попадающий в указанную папку и после печати удалять его( Я сам не программист, и поэтому прошу Вас если можете...
C++ Хороший или плохой тон программирования вот в книгах читаю что гото туфта полная..на форуме тоже так говорят,а почему?очень нужная вещь,иногда лучше использовать это чем циклы http://www.cyberforum.ru/cpp/thread109667.html
книга Windows 2000 API Р.Саймон где скачать диск с программами? C++
книга Windows 2000 API Р.Саймон где скачать диск с программами который идет к книге?
Календарь C++
Дни недели пронумерованы следующим образом: 1 — понедельник, 2 — вторник, ... , 6 — суббота, 7 — воскресенье. Дано целое число K, лежащее в диапазоне 1–365, и целое число N, лежащее в диапазоне 1–7....
C++ Как сделать сохранение? http://www.cyberforum.ru/cpp/thread109203.html
как сделать сохранение всех сточек в текстовый файл для этой программы? подскажыте...
C++ Текст плеера дайте текст плеера! подробнее

Показать сообщение отдельно
GennDALF
12 / 12 / 0
Регистрация: 24.09.2009
Сообщений: 61
10.05.2010, 09:39  [ТС]
на самом деле можно сразу приводить &Pack к типу (void *)
хм.. это интересно, но боюсь не то, что нужно.
смысл в том, чтобы отправить сперва заголовок и когда контроллер его идентифицирует, он сразу отправит сигнал компьютеру и переключится в нужный режим приема либо команды, либо данных.
т.е. отправлять всю структуру нет необходимости.. вообще ее можно было даже не создавать.. она нужна скорее для внутреннего удобства

а насколько корректно будет выглядеть такая запись?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
struct package
{
      char header;
      string body;
      char summ;
};
 
......
 
int write_pack_data(package Pack)
{
      size_t size_head = sizeof(Pack.header);
      size_t size_str = sizeof(Pack.body.c_str());
      size_t size_CS = sizeof(Pack.summ);
 
      int res = 0;
      if ( (size_str > 0) && (hCom != INVALID_HANDLE_VALUE) )
      {
            ......
            res = WriteFile(hCom, (void *)&Pack.header, size_head, &dwBytesWritten_h, 0);
            res = WriteFile(hCom, Pack.body.c_str(), size_str, &dwBytesWritten_b, 0);
            res = WriteFile(hCom, (void *)&Pack.summ, size_CS, &dwBytesWritten_s, 0);
            ......
      }
      return res;
}
и еще хотел спросить насчет 13-ой строчки.. чем отличается strlen(Pack.body.c_str()) от sizeof(Pack.body.c_str())? Если я правильно понимаю, то каждый элемент массива кодируется одним байтом, значит численно они должны совпадать.. а у меня почему-то какой бы длины строку я не вводил - sizeof() всегда возвращает 4 байта...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru