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

Бинарние запись и чтение из файла - C++

Восстановить пароль Регистрация
 
Токи
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 5
11.01.2012, 01:07     Бинарние запись и чтение из файла #1
Есть функция, которая записывает в файл текст в бинарном виде:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void AddMail() 
{ 
_tprintf(_T("\nEnter a message:\n")); 
_tscanf_s(_T("%s"),message,MAX_PATH); 
len=_tcslen(message)*sizeof(TCHAR); 
ReadFile(hFile,&total,4,&real,0); 
total++; 
ReadFile(hFile,&size,4,&real,0); 
size+=len; 
SetFilePointer(hFile,0,&DistHigh,FILE_END); 
WriteFile(hFile,&len,4,&real,0); 
WriteFile(hFile,message,sizeof(message),&real,0); 
SetFilePointer(hFile,0,&DistHigh,FILE_BEGIN); 
WriteFile(hFile,&total,4,&real,0); 
WriteFile(hFile,&size,4,&real,0); 
SetFilePointer(hFile,0,&DistHigh,FILE_BEGIN);
Помогите написать функцию Read_From_File
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2012, 01:07     Бинарние запись и чтение из файла
Посмотрите здесь:

Си, Запись и Чтение из файла. C++
Запись и чтение из файла C++
C++ Запись и чтение из файла
Запись и чтение с файла C++
запись и чтение с файла C++
Запись и чтение из файла C++
Запись и чтение из файла C++
C++ Запись и чтение из файла

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
11.01.2012, 01:18     Бинарние запись и чтение из файла #2
А привести полный код? Где все объявления?

Не по теме:

Зачем, зачем, зачем использовать корявое винапи там, где отлично работают функции из стандартной библиотеки?!

Токи
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 5
11.01.2012, 01:21  [ТС]     Бинарние запись и чтение из файла #3
Вот пожалуйста:
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
#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
#include "tchar.h"
 
DWORD  total,size,len,real;
DWORD HighPart;
LONG DistHigh=0;
TCHAR message[MAX_PATH];
TCHAR FileName[]=_T("mailbox.dat");
int menu = -1;
HANDLE hFile;
void AddMail();
bool DeleteMail(void);
bool ReadMail(void);
 
  int _tmain(int argc, _TCHAR* argv[])
   { 
       hFile=CreateFile(FileName,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
   if(!hFile)
      {
       _tprintf(_T("Error"));
       return -1;
      }
   if(GetFileSize(hFile,&HighPart)==0)
      {
       WriteFile(hFile,&total,4,&real,0);
       WriteFile(hFile,&total,4,&real,0);
       SetFilePointer(hFile,0,&DistHigh,FILE_BEGIN);
      }
   _tprintf(_T("Make your choice(0-Exit,1-Add,2-Read,3-Delete)\n"));
       while(menu)
       {
           _tscanf(_T("%d"),&menu);
           switch(menu)
           {
           case 0:CloseHandle(hFile);break;
           case 1:AddMail();break;
           case 2:if(!ReadMail())_tprintf(_T("\nWrong index\n")); break;
           //case 3:if(!DeleteMail())_tprintf(_T("Wrong index")); break;
           default:_tprintf(_T("\nWrong option\n"));
 
               }
      }
    return 0;
       
           
  }
       
void AddMail()
           {
               _tprintf(_T("\nEnter a message:\n"));
               _tscanf_s(_T("%s"),message,MAX_PATH);
               len=_tcslen(message)*sizeof(TCHAR);
               ReadFile(hFile,&total,4,&real,0);
               total++;
               ReadFile(hFile,&size,4,&real,0);
               size+=len;
               SetFilePointer(hFile,0,&DistHigh,FILE_END);
               WriteFile(hFile,&len,4,&real,0);
               WriteFile(hFile,message,sizeof(message),&real,0);
               SetFilePointer(hFile,0,&DistHigh,FILE_BEGIN);
               WriteFile(hFile,&total,4,&real,0);
               WriteFile(hFile,&size,4,&real,0);
               SetFilePointer(hFile,0,&DistHigh,FILE_BEGIN);
           }
Yandex
Объявления
11.01.2012, 01:21     Бинарние запись и чтение из файла
Ответ Создать тему
Опции темы

Текущее время: 07:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru