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

Чтение данных из файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в у http://www.cyberforum.ru/cpp-beginners/thread272568.html
Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в указанном списком List1 порядке.
C++ Класс-Контейнер Вектор Как подсчитать в векторе количество максимальных элементов? http://www.cyberforum.ru/cpp-beginners/thread272566.html
C++ Создание обработчика события
1. помогите прописать обработчик события wm_Timer! 2. как в С++ builder XEвызвать окно добавления метода()...
C++ Чего стоит использование абстракции типов данных?
Здравствуйте! Я ещё зелёный в этом деле, только учусь (на первом курсе), и после изучения структур и классов я их использую везде! Они мне очень понравились, с ними удобно, и даже Макконнел...
C++ Двумерный динамический массив http://www.cyberforum.ru/cpp-beginners/thread272550.html
Подскажите пожалуйста, как разделить элемент четвертого столбца матрицы 4*4(динамической) на минимальный элемент и вывести результат этого деления например в этой программе: #include <iostream.h>...
C++ Приведение типов string.size() к (void*) Добрый день помогите пожалуста записать значение возвращаемое string.size() в фаил FILE * fp; fp = fopen("C:\\T01.txt","rb"); std::string ddd = "___ПРИВЕД___";... подробнее

Показать сообщение отдельно
Salomons
0 / 0 / 0
Регистрация: 03.04.2011
Сообщений: 3

Чтение данных из файла - C++

08.04.2011, 18:22. Просмотров 398. Ответов 0
Метки (Все метки)

Всем доброго времени суток!
Есть задание написать функцию чтения данных из файла. Функция находится в DLL. Компилируется всё без ошибок, но на экран, после value1 value2 выводятся просто две линии в несколько строк. Я только начинаю учить программирование поэтому я уже и не знаю что может быть.
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
105
106
107
108
109
110
111
112
113
114
115
116
117
Dll: #include "stdafx.h"
#include "n.h"
#include <windows.h>
#include <iostream.h>
#include <winbase.h>
 
 
BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
        case DLL_PROCESS_ATTACH:
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
 
 
 
 
DWORD WINAPI Read(LPVOID *lpParam)
    
{
 
    HANDLE hfile;
    
    DWORD rNumber;
    
    DWORD sizelow; 
      
    
 
  
hfile = CreateFile("C:\\1.txt",FILE_SHARE_READ,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_READONLY,NULL);
 
sizelow = GetFileSize(HANDLE(hfile),NULL);
 
char *buf= new char[sizelow];
 
BOOL r =  ReadFile(HANDLE(hfile),buf,sizelow,&rNumber,NULL);
 
delete[]buf; 
 
CloseHandle(HANDLE(hfile));
 
return r; 
 
}
 
приложение: 
 
#include "stdafx.h"
#include <windows.h>
#include <iostream.h>
 
typedef DWORD  (WINAPI *Readfn)(LPVOID);
 
HMODULE hDLL = NULL;
 
DWORD WINAPI read(void *buffer) 
{
    
    if (hDLL == NULL)
        
    hDLL = LoadLibrary("n.dll");
    
    Readfn pfn = (Readfn) GetProcAddress(hDLL,"Read");
    
    if (pfn != NULL)
    
        return pfn(buffer);
    
    else
        
        return 0; 
}
 
 
  void main()
 
{
 
  char *value1 = new char[1024];  
  
  char *value2 = new char[1024]; 
 
  HANDLE *threads = new HANDLE[2];
 
  threads[0] = CreateThread(NULL,0,read,value1,0,NULL);
 
  threads[1] = CreateThread(NULL,0,read,value2,0,NULL);  
 
  cout <<"value1: "<<value1; 
   
  cout <<"value2: "<<value2;
 
  CloseHandle(threads[0]); 
  
  CloseHandle(threads[1]); 
  
  delete[]value1;  
  
  delete[]value2;  
  
  delete[]threads;
   
  if (hDLL != NULL)
    
  FreeLibrary(hDLL);
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru