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

Удаленые файлы в FAT - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сдвиг символов в строке http://www.cyberforum.ru/cpp-beginners/thread206547.html
Помогите написать программу сдвига символов в строке на заданное с клавиатуры число позиций. Все данные вводятся с клавиатуры. Помогите пожалуйста, очень надо :(
C++ Решение на с++, 7 тем заданий на с++ Здравствуйте уважаемые пользователи и программисты данного сайта. Нужна помощь в решение задач на с++. "Дело в том что данные задачи нужно сделать знакомой девушке, а я сам по большому счету вообще с++ не знаю, только VB ну и паскаль... и очень нада помощь" И так сама суть. 7 тем задач которые нужно оформить на с++ Цифры в *2* это степени грубо говоря...т.е. м*3* читается как метра... http://www.cyberforum.ru/cpp-beginners/thread206535.html
Ошибка в описании функции C++
#include <iostream.h> #include <conio.h> main() { int i,j,k,*a,n,k2,m; void fun(int,int,int,int,int); clrscr(); cout<<"Vvedite poradok"; cin>>k; a=new int;
C++ CLR\MFC
здраствуйте! Может кто то делал какие то додатки(типа Калькулятор Текстовый редактор или конвертер) на Visual C++ MFC/CLR поделитесь плиз исходниками
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread206515.html
Здоров всем. Как реализовать задачу? Сформировать и распечатать квадратную матрицу A(15,15) следующего вида: http://s12.***********/i185/1012/29/daa278b29f1at.jpg
C++ Найти количество его локальных минимумов1|максимумов2 Добрый вечер. помогите реализовать задачку. Дан массив размера N. Найти количество его локальных минимумов1|максимумов2. Нужно реализовать с интерфейсом, но буду благодарен за сам алгоритм Добавлено через 14 часов 6 минут Помогите плизззззззззззз........ подробнее

Показать сообщение отдельно
MenMen
 Аватар для MenMen
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 4
10.12.2010, 07:49  [ТС]     Удаленые файлы в FAT
Нашёл код Муфти Махмеда http://www.codeguru.com/cpp/cpp/cpp_...cle.php/c13831
Но не как не могу откомпилировать его так как не знаю какие библиотеке надо подключать, вообщем требуется помощь специалистов. Заранее СПС!

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
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
 
typedef struct root_Entries
{
   BYTE short_FileName[11];
   BYTE fileAttributes;
   BYTE reserved;
   BYTE createTime_ms;
   WORD createTime;
   WORD createDate;
   WORD accessedDate;
   WORD clusterNumber_High;
   WORD modifiedTime;
   WORD modifiedDate;
   WORD firstClusterAddress_FAT12;
   DWORD sizeofFile;
} root;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
   int nRetCode = 0;
 
   // initialize MFC and print and error on failure
   if (!AfxWinInit(::GetModuleHandle(NULL), NULL,::GetCommandLine(), 0))
   {
      // TODO: change error code to suit your needs
      cerr << _T("Fatal Error: MFC initialization failed") << endl;
      nRetCode = 1;
   }
   else
   {
      DWORD dwFilePointer;
      DWORD dwBytesRead;
      root stRoot;
      BYTE byteRoot[512];
      memset(&byteRoot, 0, 512);
 
      HANDLE hFloppy = NULL;
      hFloppy = CreateFile("\\\\.\\A:",    // Floppy drive to open
         GENERIC_READ,                     // Access mode
         FILE_SHARE_READ,                  // Share Mode
         NULL,                             // Security Descriptor
         OPEN_EXISTING,                    // How to create
         0,                                // File attributes
         NULL);                            // Handle to template
      if(hFloppy != NULL)
      {
         dwFilePointer = SetFilePointer(hFloppy,
            (512 * 19), NULL, FILE_BEGIN);
         // Test for failure
         if (dwFilePointer != INVALID_SET_FILE_POINTER)
         {
            int iSector = 19;
            BOOL bNoEntry = FALSE;
            // Iterate through root directory sectors
            do
            {
               if (!ReadFile(hFloppy, byteRoot, 512,
                   &dwBytesRead, NULL))
               {
                  printf("Error in Reading Root Entry.\n");
               }
               else
               {
                  BYTE *pByteRoot = byteRoot;
                  // Iterate through 32 byte entries
                  for(int i = 0; i < (512/32); i++)
                  {
                     memcpy(&stRoot, pByteRoot, 32);
 
                      // No entry beyond this used.
                     if(stRoot.short_FileName[0] == 0x00)
                     {
                        // Stop iteration
                        bNoEntry = TRUE;
                        break;
                     }
                     else
                     {
                        // This if loops checks for file deletion
                        // status
                        if(stRoot.short_FileName[0] == 0xE5)
                        {
                           printf("First character of file after
                                   deletion :0x%x\n",
                              stRoot.short_FileName[0]);
                           printf("File status: Deleted.\n");
                        }
 
                        printf("File Name            : %s\n",
                                                     : stRoot.short_
                                                     : FileName);
                        if(stRoot.fileAttributes & 0x01)
                        printf("File Attribute       : Read Only File\n");
                        if(stRoot.fileAttributes & 0x02)
                           printf("File Attribute    : Hidden File\n");
                        if(stRoot.fileAttributes & 0x04)
                           printf("File Attribute    : System File\n");
                        if(stRoot.fileAttributes & 0x08)
                           printf("File Attribute    : Volume Label\n");
                        if(stRoot.fileAttributes & 0x0f)
                           printf("File Attribute    : Long File Name\n");
                        if(stRoot.fileAttributes & 0x10)
                           printf("File Attribute    : Directory\n");
                        if(stRoot.fileAttributes & 0x20)
                           printf("File Attribute    : Archive\n");
 
                        WORD nYear = (stRoot.createDate >> 9);
                        WORD nMonth = (stRoot.createDate << 7);
                        nMonth = nMonth >> 12;
                        WORD nDay = (stRoot.createDate << 11);
                        nDay = nDay >> 11;
 
                        printf("Create Date    : %d/%d/%d\n", nDay,
                                               : nMonth, (nYear+1980));
 
                        nYear  = (stRoot.modifiedDate >> 9);
                        nMonth = (stRoot.modifiedDate << 7);
                        nMonth = nMonth >> 12;
                        nDay   = (stRoot.modifiedDate << 11);
                        nDay   = nDay >> 11;
 
                        printf("Modification Date    : %d/%d/%d\n",
                                                     : nDay, nMonth,
                                                     : (nYear+1980));
 
                        nYear  = (stRoot.accessedDate >> 9);
                        nMonth = (stRoot.accessedDate << 7);
                        nMonth = nMonth >> 12;
                        nDay   = (stRoot.accessedDate << 11);
                        nDay   = nDay >> 11;
 
                        printf("Accessed Date        : %d/%d/%d\n",
                                                     : nDay, nMonth,
                                                     : (nYear+1980));
 
                        printf("Start Cluster Address: %d\n",
                               stRoot.firstClusterAddress_FAT12);
                        printf("File Size            : %d bytes\n",
                                                     : stRoot.
                                                     :sizeofFile);
                        pByteRoot += 32;
                     }    // End of else
                  }
 
                  if(bNoEntry)
                  break;
                  else
                  {
                     iSector += 1;
                  }
               }
            } while(iSector <= 33);
         }
 
         CloseHandle(hFloppy);
      }
   }
 
   return nRetCode;
}
 
Текущее время: 11:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru