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

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

Войти
Регистрация
Восстановить пароль
 
max10messi
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 15
#1

Программа работы с файлом, отображенным в память - C++

05.04.2014, 20:54. Просмотров 420. Ответов 3
Метки нет (Все метки)

у меня есть проблемка, дана программа в методичке, нужно откомпилировать, я питался что-то сделать, но выскакует одна ошибка, прошу вашей помощи!!!Пожалуйста!
вот методичка(лаба 4) и скрин ошибки.
Sistemnoe_programmirovanie_-_Laboratornye_rabot.pdf
Программа работы с файлом, отображенным в память
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
//#include "EvryThng.h"
//#include "Everything.h"
 
 
 
#define BUF_SIZE 160
#define rmaxf1 40
#define rmaxf2 10
#include <process.h>
#include <stdarg.h>
#include <string.h>
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <io.h>
#include <stdlib.h>
#include <search.h>
#define WIN32_LEAN_AND_MEAN 
#define NOATOM 
#define NOCLIPBOARD 
#define NOCOMM 
#define NOCTLMGR 
#define NOCOLOR 
#define NODEFERWINDOWPOS 
#define NODESKTOP 
#define NODRAWTEXT 
#define NOEXTAPI 
#define NOGDICAPMASKS 
#define NOHELP 
#define NOICONS 
#define NOTIME 
#define NOIMM 
#define NOKANJI 
#define NOKERNEL 
#define NOKEYSTATES 
#define NOMCX 
#define NOMEMMGR 
#define NOMENUS 
#define NOMETAFILE 
#define NOMSG 
#define NONCMESSAGE 
#define NOPROFILER 
#define NORASTEROPS 
#define NORESOURCE 
#define NOSCROLL 
#define NOSERVICE 
#define NOSHOWWINDOW 
#define NOSOUND 
#define NOSYSCOMMANDS 
#define NOSYSMETRICS 
#define NOSYSPARAMS 
#define NOTEXTMETRIC 
#define NOVIRTUALKEYCODES 
#define NOWH 
#define NOWINDOWSTATION 
#define NOWINMESSAGES 
#define NOWINOFFSETS  
#define NOWINSTYLES  
#define OEMRESOURCE 
#undef UNICODE 
#ifdef UNICODE 
#define _UNICODE 
#endif
#ifndef UNICODE
#undef _UNICODE 
#endif
#define _STATICLIB
#define UTILITY_EXPORTS
#ifdef UTILITY_EXPORTS
#define LIBSPEC _declspec (dllexport)
#else
#define LIBSPEC _declspec (dllimport)
#endif
#define EMPTY _T ("")
#define YES _T ("y")
#define NO _T ("n")
#define CR OxOD
#define LF OxOA
#define TSIZE sizeof (TCHAR) 
/* Пределы и константы. */
#define TYPE_FILE 1   
#define TYPE_DIR 2
#define TYPE_DOT 3
#define MAX_OPTIONS 20 
/* Максимальное кол-во опций командной строки. */
#define MAX_ARG 1000 
/* Максимальное кол-во параметров командной строки. */
#define MAX_COMMAND_LINE MAX_PATH+50 
/* Максимальный размер командной строки. */
/* Функции общего применения. */
LIBSPEC BOOL ConsolePrompt (LPCTSTR, LPTSTR, DWORD, BOOL); 
LIBSPEC BOOL PrintStrings (HANDLE, ...);
LIBSPEC BOOL PrintMsg (HANDLE, LPCTSTR);
LIBSPEC VOID ReportError (LPCTSTR, DWORD, BOOL);
 
 
 
void KCompare (CHAR , CHAR , int);
void KCompare ( CHAR string1[rmaxf1], CHAR string2[rmaxf2], int KEY)
{
    //strcmp
    char tmp[20]; int result;
    result=strncmp(( CHAR*) string1, ( CHAR*) string2, KEY);
    if (result==0)
    { 
        strcpy_s( tmp, "equal to" );
        printf( "Result:\t\tString 1 is %s string 2\n\n", tmp );
    }
    else
    { 
        strcpy_s( tmp, "noequal to" );
        printf( "Result:\t\tString 1 is %s string 2\n\n", tmp );
    }
}
    int _tmain (int argc, LPCTSTR argv []) 
    {
        HANDLE hFile, hFile2, hMap;
        LPVOID  pFile;
        CHAR string1[rmaxf1], string2[rmaxf2]; 
        CHAR Buffer1[BUF_SIZE], Buffer2[BUF_SIZE];
        DWORD FsLow, nf2; 
        int i, j, k, KEY;
        BOOL f2;
        LPCTSTR pF;
        hFile = CreateFile (argv[1], GENERIC_READ, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        FsLow = GetFileSize (hFile, NULL); 
        printf("Fs=%d\n",(int)FsLow);
        hMap = CreateFileMapping (hFile, NULL, PAGE_READONLY,0, 0, NULL); 
        pFile = MapViewOfFile (hMap, FILE_MAP_READ, 0, 0, 0);
        pF=(LPCTSTR)pFile;
        for (i=0; i< (int)FsLow; i++)
        {
            Buffer1[i]=*pF;
            pF++;
        }
        for (i=0; i< (int)FsLow; i++)
        printf("%c",Buffer1[i]);
        printf("\n");
        hFile2 = CreateFile (argv[2], GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
        f2=ReadFile(hFile2, Buffer2, BUF_SIZE, &nf2, NULL);
        KEY=GetFileSize (hFile2, NULL); 
        printf("KEY=%d\n", (int)KEY);
        for (i=0; i< (int)KEY; i++)
        printf("%c",Buffer2[i]);
        printf("\n");
        for (i=0; i< (int)KEY; i++)
        string2[i]=Buffer2[i];
        k=0;
        do
        {
            i=k;
            do
        {
        for (j=0; j<(int)KEY;j++)
        {
            string1[j]=Buffer1[j+i];
            printf("%c",string1[j]);
        }
        printf("\n");
        getchar();
        KCompare(string1, string2, (int)KEY);
        i=i+KEY;
        }
        while (i<(int)FsLow-(int)KEY+1);
        k=k+1;
    }
    while (k<(int)FsLow-(int)KEY+1);
    /* Выводим исходный файл. */
    _tprintf(_T("%s"),pFile); 
    UnmapViewOfFile (pFile); 
    CloseHandle (hMap); 
    CloseHandle (hFile);  
    CloseHandle (hFile2);  
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2014, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа работы с файлом, отображенным в память (C++):

Программа неадекватно реагирует на функции работы с файлом.. - C++
Я написал небольшую простенькую программку, читающую что-то из файла, и записывающую что-то в другой файл, проверил на своем компе - все...

Программа для работы с текстовым файлом. Описать ф-ю для подсчета строк, состоящих из одинаковых символов - C++
Здравствуйте, помогите пожалуйста написать программу, которая будет из текстового файла выдавать число строк, состоящих из одинаковых...

Программа для работы с файлом - C++
Задача такая: Дан текстовый файл, в котором есть 30 наименований книг( с автором,годом издания). Нужно написать программу, что бы она ...

Класс для работы с файлом. - C++
Есть класс для сортировки файла по номеру телефона. void Job::sort() { for(;;) { ifstream fin; fin.open(filename,...

Функция для работы с файлом - C++
У меня есть внешняя функция записанная в моей библиотеке, в эту функцию передаются 2 значения: 1 - это начало массива, в котором записано...

Адаптировать задачу для работы с файлом - C++
Дали такое задание: написать функцию revpositn которая которая принмает два параметра str1,str2 типа string и возвращает позицию начала...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.04.2014, 21:56 #2
Нужно проверять значения, которые возвращают функции (CreateFile() и пр.).
0
max10messi
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 15
06.04.2014, 17:57  [ТС] #3
И как это сделать, и что оно даст??
Просто может, что-то в коде напутал, бо поразному что-то менял, но ошибка таже((
Может знаешь что нужно в коде поменять?
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 19:52 #4
Цитата Сообщение от max10messi Посмотреть сообщение
И как это сделать,
Читайте документайию по этим функциям.
Цитата Сообщение от max10messi Посмотреть сообщение
и что оно даст??
То, что, может, у вас в коде функции ничего не создают, а вы пытаетесь с этим ничем работать.

Добавлено через 42 секунды
Цитата Сообщение от max10messi Посмотреть сообщение
Может знаешь что нужно в коде поменять?
Этот код - на WinAPI, а тут форум - по С++.
http://www.cyberforum.ru/win-api/
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 19:52
Привет! Вот еще темы с ответами:

Написать программу работы с файлом сведений - C++
Создать файл, содержащий сведения о соревнованиях по четырем дисциплинам легкой атлетики. Структура записи: фамилия спортсмена, дисциплина...

Какой проект открыть для работы с файлом или БД? - C++
Kakoi proect lychshe otkrut dlya rabotu s file i database. Nyshno chitat file a potom dannue sanosit v database.

Вынести часть кода работы с бинарным файлом в отдельную функцию - C++
Хочу написать функцию:void case_ofstream(); в case 1. Как она должна выглядеть? #include&lt;iostream&gt; #include&lt;fstream&gt; using...

Как получить имя файла для дальнейшей работы с этим файлом? - C++
Есть программа в которой используются функции GetOpenFile() и GetSaveFile() для открытия и сохранения файлов. Нужно получить из этих...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.04.2014, 19:52
Ответ Создать тему
Опции темы

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