Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить функцию для расчета суммы цифр натурального числа. Входной параметр – число. Возвращаемое значение – сумма. Помогите пожалуйста написать программу на с++ очень нужно Определить функцию для расчета суммы цифр натурального числа. Входной параметр – число. Возвращаемое значение – сумма. https://www.cyberforum.ru/ cpp-beginners/ thread792012.html C++ Погрешность дробной части
Сначала опишу задание, потом проблему. Задание: Дан первый элемент, остальную часть последовательности чисел надо вычислить по определенной формуле. первый элемент, z=0.067 Проблема: НО при...
C++ Разложить функцию в ряд https://www.cyberforum.ru/ cpp-beginners/ thread792001.html
что то не получается.... и подскажите как мне в одну строку сделать т.е чтобы этого небыло st *= x; а было в одной строке slag = st * sin(i*(PI/4)); double snf(int n, double x) { double...
C++ Таблица на двумерном массиве или структуре https://www.cyberforum.ru/ cpp-beginners/ thread791993.html
Задача: Написать программу со вводом имен 10 студентов, вводом 10 оценок каждому, вывод результата в виде таблицы с подсчетом ср. арифм. для каждого студента и ср. арифм. для всех студентов. Через...
Условие останова C++
Привет, ребята. Посоветуйте плиз, как мне задать условие для того, чтобы ввод прекратился? Вот код: int i,choice; for(i=0;i<MAX;i++) { cin>>choice; if(choice=='q') break;...
C++ переводчик чуваки в чем ошибка?почему считывая на английском слово которое я ввожу и есть в текстовом документе не выводит перевод?#include<iostream> #include<iterator> #include<map> #include<string>... https://www.cyberforum.ru/ cpp-beginners/ thread791958.html
C++ Антивирус ругается на мои программы https://www.cyberforum.ru/ cpp-beginners/ thread791939.html
#include <iostream> #define _USE_MATH_DEFINES #include <cmath> using namespace std; int main() { cout << "PI=" << M_PI << '\n'; return 0;
C++ Объявить массив элементов типа person
Определена структура: struct Person { char name ; int age; bool male; } Объявите и проинициализируйте массив их 3-х элементов типа Person Буду ОЧЕНЬ благодарна!!!!
C++ EAccessViolation, если длина строки больше 14 Здравствуйте! Сперва простой код: void cyr_print(const char* text) { const int n = strlen(text); char *buf = new char; CharToOem(text, buf); cout<<buf<<endl; delete buf; }... https://www.cyberforum.ru/ cpp-beginners/ thread791932.html C++ Дана строка символов. Является ли заданная она палиндромом https://www.cyberforum.ru/ cpp-beginners/ thread791927.html
Пожалуйста,Помогите разобраться с ректорской к.р.! Вот есть задание: Дана строка символов. Создать функцию, чтобы проверить, является ли заданная строка палиндромом (Н-р "АВСВА"). Приведенное...
Использовать функцию. Массивы. Заменить в обоих массивах минимальный элемент суммой отрицательных элементов C++
Пожалуйста,ПОМОГИТЕ!!! Это срочно...ректорская контрольная...на завтра Определить два одномерных массива целых чисел А(19), В(26). Первый ввести с клавиатуры, а второй задать как типизированную...
C++ двузначное число, проверка Здравствуйте, выполнил проверку на чётные/не чётные числа, а как проверить на двузначность ? :-#include <iostream> using namespace std; int main() { int n; setlocale(0, "Rus"); ... https://www.cyberforum.ru/ cpp-beginners/ thread791918.html
3795 / 3108 / 859
Регистрация: 25.03.2012
Сообщений: 11,475
Записей в блоге: 1
21.02.2013, 22:30 0

Передача файла из одного ПК к другому - C++ - Ответ 4164462

21.02.2013, 22:30. Показов 1858. Ответов 11
Метки (Все метки)

Ответ

Достаточно знать такие WinAPI функции как
CreateFile
WriteFile
ReadFile
GetCommState
SetCommState
PurgeComm
CloseHandle

Если реализовывать чтение порта в отдельном потоке, ещё немного функций для работы с потоками и событиями
CreateThread
CreateEvent
SuspendThread
ResumeThread
SetEvent
WaitForSingleObject

Добавлено через 3 минуты
Пример из книги Ю.Магда. Программирование последовательных интерфейсов.
Приём данных из COM3 сохранение их в файл, вывод на экран, и отправка обратно по ком-порту.
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <windows.h>
#include <stdio.h>
#include <conio.h>
 
char buf[128];
char *pbuf = buf;
int counter = 0;
 
HANDLE hCom, hEvent;
DWORD bytesRead, bWritten;
 
BOOL fSuccess;
HANDLE hThread;
DWORD dwParam, dwThreadId;
 
VOID WINAPI ThreadProc(PVOID* dummy)
{
 printf("Waiting for data from COM4...\n");
 while (true)
 {
     ReadFile(hCom,
              pbuf,
              1,
              &bytesRead,
              NULL);
     if (bytesRead > 0)
      {
       WriteFile(hCom,
                 pbuf++,
                 1,
                 &bWritten,
                 NULL);
                 counter++;
      if (counter == 10)
       {
        SetEvent(hEvent);
        buf[counter] = '\0';
        counter = 0;
        pbuf = buf;
       }
   }
 }
}
 
void main(void)
{
  char *pcComPort = "COM4";
  DCB dcb;
  FILE *fout;
 
  hCom = CreateFile(pcComPort,
                    GENERIC_READ | GENERIC_WRITE,
                    0,
                    NULL,
                    OPEN_EXISTING,
                    0,
                    NULL);
  if (hCom == INVALID_HANDLE_VALUE)
   {
     printf("COM4 opening error!\n");
     return;
   }
 
  GetCommState(hCom, &dcb);
  dcb.BaudRate = CBR_9600;
  dcb.ByteSize = 8;
  dcb.Parity = NOPARITY;
  dcb.StopBits = ONESTOPBIT;
  fSuccess = SetCommState(hCom, &dcb);
 
  if (!fSuccess)
   {
    printf ("SetCommState failed with error %d.\n", GetLastError());
    return;
   }
 
  printf ("Serial port %s successfully reconfigured.\n", pcComPort);
  GetCommState(hCom, &dcb);
  printf("COM4 baud rate is %d\n", dcb.BaudRate);
 
  hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
  hThread = CreateThread(NULL,
                         0,
                         (LPTHREAD_START_ROUTINE)ThreadProc,
                         &dwParam,
                         0,
                         &dwThreadId);
  if ((fout = fopen("c:\\Test", "a+")) == NULL)
   {
    printf("Can't create file!\n");
    return;
   }
  printf("Press Enter to exit...\n");
  do
    {
      WaitForSingleObject(hEvent, INFINITE);
      printf("%s\n", buf);
      fwrite(buf, sizeof(char), 10, fout);
    } while (!kbhit());
 
  fclose(fout);
  CloseHandle(hCom);
  return;
}


Вернуться к обсуждению:
Передача файла из одного ПК к другому C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2013, 22:30
Готовые ответы и решения:

Передача свойства одного экземпляра класса другому экземпляру класса
#include &lt;tchar.h&gt; class A { public: A(); int aVar; }; class B : public A

Неправильная передача данных из одного файла в другой
Здравствуйте! Возникли проблемы с записью информации в файл. Часть кода: unsigned char bady,...

Передача .exe другому
Хочу скинуть другу .exe скомпилированный проект в VS13 (Ctrl+F7). Скидываю просто .exe(Который я...

Переход из одного интервала к другому
Прошу прощения, не знаю где должна быть подобная тема. У меня есть интервал примерно , массив...

11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2013, 22:30
Помогаю со студенческими работами здесь

Передача свойств одного компонента другому
Добрый день. Не подскажите - вопрос такой. Есть эталонный StringGrid1 с кучей свойств -...

Передача значения переменных одного класса другому
Всем привет. Нужно передать значения одного класса другому, при этом семантика методов класса...

Передача значимого типа от одного List<T> другому
Добрый день, уважаемые форумчане! Прошу помочь в передаче значений от одного List&lt;T&gt; другому: дело...

SignalR v2: передача данных от одного пользователя другому
Нужна помощь по SignalR v2, конкретно: Передача данных от js приложения одного пользователя к js...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru