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

Доступ к параметрам функции, потоки WinAPI - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать интерфейс http://www.cyberforum.ru/cpp-beginners/thread931939.html
Надо написать свой интерфейс для работы со строками. В основе лежит char *. Все должно быть в виде функций. Помогите, кто знает! Добавлено через 24 минуты Реализовать функции для работы со строками - copy, append, compare, insert, и т.д.
C++ GDI || DirectX Что лучше использовать в качестве меню для игр Win32 API + GUI или Win32 API + DirectX? Возможно ли в GUI\GUI+ сделать форму прозрачной? http://www.cyberforum.ru/cpp-beginners/thread931935.html
C++ -1.#IND "Отрицательная неопределённость"
Здравствуйте. 1) Что такое "Отрицательная неопределённость"? 2) Почему она появляется на этих входных данных 18.716839 40.852752 66.147248 -4.083161 111.083161 43.347248 вот в этой "программе"? #include <cstdio> #include <iostream>
Cоздать класс-шаблон, реализующий односвязный список C++
Помогите новичку, пожалуйста, с такой задачей: необходимо создать класс-шаблон, реализующий односвязный список, а потом проверить его с целочисленными и числовыми с плавающей запятой значениями. Ниже код, он компилируется и запускается без проблем, но после запуска выдает ошибку: "Необработанное исключение по адресу 0x010A4349 в 10three.exe: 0xC0000005: нарушение прав доступа при чтении по адресу...
C++ Найти количество дубликатов в массиве http://www.cyberforum.ru/cpp-beginners/thread931879.html
Вопрос для людей, который разбираются в теории. Ну или знаю на практике, какой способ является быстрым для упорядоченного массива с дубликатами. Я вот такую функцию написал. template<class T> int dublicat_count_in_arr(const T *H, int N) { int dublicat_count = 0; for(int i=0; i=N-1; i++) { int j=N;
C++ Microsoft Visual Studio 6.0 решил изучить указную прогу (для изучения си++). Друг сказал что она похожа на дэлфи. скачал, установил. а чё дальше ? на дэлфи она совсем не похожа. подробнее

Показать сообщение отдельно
udjee
0 / 0 / 0
Регистрация: 15.08.2012
Сообщений: 6
01.08.2013, 12:52     Доступ к параметрам функции, потоки WinAPI
Уважаемые программисты! Подскажите, пожалуйста, как получить доступ к элементам массива, если я передаю в качестве параметра стартовой функции Sum указатель на массив:

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
#include <windows.h>
#include <stdio.h>
#include <process.h>
#include <ctime> 
 
using namespace std; 
 
DWORD WINAPI Random(LPVOID lpParametr) //страртовая функция потока-генератора
{
    srand(GetCurrentThreadId());
    *((int*)lpParametr) = rand()%100;
    printf("%d\n", *((int*)lpParametr) );
    return 0;
}
 
DWORD WINAPI Sum(LPVOID lpParametr) //стартовая функция потока-сумматора
{
 
    return 0;
}
 
void main()
{
    int i, *data;//i-я ячейка массива соответствует i-му потоку. Последняя - сумма значений первых пяти ячеек.
    HANDLE *Thread;
    DWORD *ThreadID;
 
    Thread = new HANDLE [6];
    data = new int [6];
    ThreadID = new DWORD [6];
 
    for(i = 0; i < 6; i++)
        data[i] = 0;
    
    for(i = 0; i < 6; i++)
        if(i == 5)
            Thread[i] = CreateThread(NULL, 0, Sum, &data, 0, &ThreadID[i]);
        else
            Thread[i] = CreateThread(NULL, 0, Random, &data[i], 0, &ThreadID[i]);
    
    for(i = 0; i < 6; i++)
        WaitForSingleObject(Thread[i], INFINITE);
 
}
Я попробовала следующим образом:

C++
1
2
3
4
5
6
7
8
DWORD WINAPI Sum(LPVOID lpParametr) //стартовая функция потока-сумматора
{
    int i;
    for(i = 0; i < 6; i++)
        printf("%d  ", *((int*)lpParametr)+i);
        printf("\n");
    return 0;
}
Но видимо это неверно, т.к. получается:
Доступ к параметрам функции, потоки WinAPI

А должно быть так:
90
83
7
46
53
90 83 7 46 53

Как же мне добраться до элементов массива?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru