Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.12.2020
Сообщений: 19
1

в качестве сообщения необходимо передавать результат выполнения функции int getaddrinfo

11.01.2022, 20:43. Показов 621. Ответов 0
Метки g++ (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <unistd.h>
#include <pthread.h>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
bool flag1 = 0; // объявляем флаг завершения потока 1
bool flag2 = 0; // объявляем флаг завершения потока 2
 
int filedes[2]; // объявляем идентификатор неименованного канала
 
static void* f1(void* arg){ //функция потока 1
      //cout <<"f1 начал работу\n";
      int buf = 0; // объявляем буфер
      while (*(bool*)arg == 0){ //пока флаг заверш.потока 1 не установлен
            buf++; //генерация нового сообщения
            write(filedes[1], &buf, sizeof(int)); //записать сообщение из буфера в неименованный канал
            cout << "В канал записано число:" << buf << "\n";
            sleep(1);
            
      }
 
      pthread_exit((void*)5);
}
 
static void* f2(void* arg){ 
      //cout <<"f2 начал работу\n";
      int buf; //буфер для прочитанных сообщений из канала
      while (*(bool*)arg == 0){
            read(filedes[0], &buf, sizeof(int)); //прочитать сообщение из неименованного канала в буфер
        cout << "Из канала получено число:" << buf << "\n";
        
      }
 
      pthread_exit((void*)5);
}
 
 
int main(){ //основная программа
      cout << "Программа начала работу:\n";
 
      pthread_t id1; // объявляем идентификатор потока 1
      pthread_t id2; // объявляем идентификатор потока 2
 
      pipe(filedes); // Создание неименованного канала
 
      pthread_create(&id1, NULL, f1, &flag1); //создаем поток из функции 1
      pthread_create(&id2, NULL, f2, &flag2); //создаем поток из функции 2
 
 
      getchar(); //приостановка потока , ждет нажатие клавиши
 
 
      flag1 = 1; // устанавливаем флаг завершения потока 1
      flag2 = 1; // устанавливаем флаг завершения потока 1
 
      int* exit_code1;
      int* exit_code2;
 
      pthread_join(id1, (void**)&exit_code1);
      close(filedes[1]);
 
      pthread_join(id2, (void**)&exit_code2);  
      close(filedes[0]);
 
      cout << "Программа закончила работу:" << exit_code1 << "," << exit_code2;
      
      return 0;
}

Есть программа, в качестве сообщения необходимо передавать результат выполнения функции
"int getaddrinfo(const char *node, const char *service,const struct addrinfo *hints,struct addrinfo **res)- получение информации о хосте по его имени;
задать имя хоста (node);
задать имя сервиса (service);
задать ограничения на возвращаемые параметры (hints);
получить результат в структуре struct addrinfo **res;
из структуры взять параметр, например, ip-адрес и его передавать."

Как это реализовать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2022, 20:43
Ответы с готовыми решениями:

Написать функцию - обёртку, принимающую в качестве аргумента функцию int (*)(int) и аргумент, и хранящую предыдущий аргумент и возвращаемый результат
помогите пожалуйста с программой. как реализовать это на Си и что за функция обёртка?

Как передавать в качестве аргумента функции экземпляр пользовательского класса?
Товарищи, подскажите пожалуйста, возможно ли (и как, если возможно) на VBA (Exel 2003) реализовать...

Запрашивать ввод числа, передавать его функции как параметр и выводить полученный результат
Эта программа должна запрашивать ввод целого числа, передавать его функции как параметр и выводить...

Что передавать в качестве параметра hdc функции "GetPixel"
А именно: COLORREF GetPixel( _In_ HDC hdc, _In_ int nXPos, _In_ int nYPos ); Что...

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

Результат работы функции в качестве аргумента
Доброго всем времени суток! Где то слышал что в PHP не рекомендуется в качестве аргумента...

Как вывести результат функции void через cout? Или передавать в функцию параметр типа string?
class tomat : public cveti { public: int ves = (rand() % 599 + 1); string an; void print()...

Выполнения функции при приходе сообщения WM_QUIT
У меня проблема. Надо выполнить определёную функцию при приходе сообщения WM_QUIT. Но эта функция...

Задачу создать 2-мя способами:1) передавать результат работы подпрограммы через результат, возвращаемый функци
Здравствуйте, дорогие форумчане! Будьте добры, помогите не совсем опытному юзеру разобраться с...

Сформулировать результат выполнения функции
Сформулировать результат выполнения функции, определить назначение (&quot;смысловую нагрузку&quot;)...

Вернуть результат выполнения функции
Добрый день уважаемые форумчане. Имеются две функции. &lt;button id=&quot;btn&quot;&gt;Click me&lt;/button&gt; &lt;div...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru