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

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

Войти
Регистрация
Восстановить пароль
 
Simulkin Stas
76 / 76 / 2
Регистрация: 02.12.2011
Сообщений: 293
#1

Вывод содержимого структуры COMMPROP на консоль - C++

18.06.2014, 09:54. Просмотров 411. Ответов 1
Метки нет (Все метки)

...доброго времени суток, уважаемые форумчане!... не могу понять как вывести содержимое структуры на экран...вот фрагмент кода:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// COM_1.cpp: определяет точку входа для консольного приложения.
//
// #include <conio.h>
#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;
 
 HANDLE hSerial;
 COMMPROP *pr; 
int _tmain(int argc, _TCHAR* argv[])
{
LPCTSTR sPortName = L"COM1"; 
    hSerial = ::CreateFile(sPortName, GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
 
   if(hSerial==INVALID_HANDLE_VALUE)
    {
      if(GetLastError()==ERROR_FILE_NOT_FOUND)
        {
           cout << "Serial port does not exist.\n";
        }
       cout << "Some other error occurred.\n";
    }
 
 DCB dcbSerialParams = {0};
 dcbSerialParams.DCBlength=sizeof(dcbSerialParams);
  if (!GetCommState(hSerial, &dcbSerialParams))
   {
      cout << "Getting state error\n";
   }
 dcbSerialParams.BaudRate=CBR_9600;
 dcbSerialParams.ByteSize=8;
 dcbSerialParams.StopBits=ONESTOPBIT;
 dcbSerialParams.Parity=NOPARITY;
  if(!SetCommState(hSerial, &dcbSerialParams))
   {
      cout << "Error setting serial port state\n";
   }
 
  pr=(COMMPROP*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(COMMPROP)); 
   GetCommProperties(hSerial, pr); 
  if(pr->wPacketLength != sizeof(COMMPROP)) 
   {
    { 
       pr=(COMMPROP*)HeapReAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,pr,pr->wPacketLength); 
       pr->dwProvSpec1=COMMPROP_INITIALIZED; 
       GetCommProperties(hSerial,pr); 
    }
 
//. . . Вывод содержимого структуры COMMPROP
 
HeapFree(GetProcessHeap(),0,pr); 
CloseHandle(hSerial); 
//. . . 
 }
     system("pause");
    return 0;
}
...т. е., что нужно дописать вместо строки № 50 данного фрагмента...
...а вот сама структура:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 typedef struct _COMMPROP {{ 
WORD wPacketLength; // packet size, in bytes 
WORD wPacketVersion; // packet version 
DWORD dwServiceMask; // services implemented 
DWORD dwReserved1; // reserved 
DWORD dwMaxTxQueue; // max Tx bufsize, in bytes 
DWORD dwMaxRxQueue; // max Rx bufsize, in bytes 
DWORD dwMaxBaud; // max baud rate, in bps 
DWORD dwProvSubType; // specific provider type 
DWORD dwProvCapabilities; // capabilities supported 
DWORD dwSettableParams; // changable parameters 
DWORD dwSettableBaud; // allowable baud rates 
WORD wSettableData; // allowable byte sizes 
WORD wSettableStopParity; // stop bits/parity allowed 
DWORD dwCurrentTxQueue; // Tx buffer size, in bytes 
DWORD dwCurrentRxQueue; // Rx buffer size, in bytes 
DWORD dwProvSpec1; // provider-specific data 
DWORD dwProvSpec2; // provider-specific data 
WCHAR wcProvChar[1]; // provider-specific data 
} COMMPROP;
... это стандартная структура с описанием возможностей порта... заранее благодарен за ответ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2014, 09:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод содержимого структуры COMMPROP на консоль (C++):

Выделение памяти и вывод её содержимого на печать в консоль - C++
Здравствуйте, форумчане. Не подскажите, как в С++ выделить 1 кБайт памяти одним куском и вывести её содержание на экран консоли через...

Не могу разобраться. Чтение и вывод на экран всего содержимого файла .txt на консоль - C++
#include &lt;cstdio&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; using namespace std; void main() { ...

Вывод в консоль одного из параметров структуры - C++
void Cars() { int i=0, k=0; sGet arr; for (i = 0; i &lt; 8; i = i + 1) { for (k = 0; k &lt; 8; k = k + 1) { arr.x =...

Реализовать поиск значения в файле и вывод на консоль структуры, в которой расположено значение - C++
Как сделать поиск значения в файле и вывод на консоль структуры, в которой расположено значение?

С++(консоль)файлы,структуры - C++
1) массив 3 на 3 нужно найти строчку в которой максимальный элемент и заменить её на 0 пример 123 макс элемент 6 получаем 123 ну вот...

Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод) - C++
Как сделать чтобы список студентов выводился на экран в конце? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

1
nmcf
5535 / 4845 / 1642
Регистрация: 14.04.2014
Сообщений: 19,657
18.06.2014, 14:11 #2
C++
1
cout << pr->wPacketLength;
и т. д.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 14:11
Привет! Вот еще темы с ответами:

Проверить равенство содержимого элемента структуры слову - C++
Снизу представлен код, который должен выводить всех студентов, которые проживают в Москве и имеют пятерки по всем предметам. Программа не...

Вывод структуры, строка как элемент структуры - C++
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения; □ номер поезда; □ время отправления. ...

Вывод содержимого map - C++
Есть класс BigInt - класс длинных чисел: class BigInt { int nmb; char sing; int size; void Reverse(); public:...

Вывод содержимого map - C++
#include &lt;vcl.h&gt; #include &lt;string&gt; #include &lt;map&gt; #include &lt;iostream&gt; #pragma hdrstop #include &lt;tchar.h&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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