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

Класс для работы с файлами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему-то не находятся файлы по маске http://www.cyberforum.ru/cpp-beginners/thread963944.html
Вообщем такая функция: WCHAR wcBuff = L"D:\\Test\\"; WCHAR wcMask = L"*.txt"; HANDLE hFile; WIN32_FIND_DATA wfFileData; wfFileData.dwFileAttributes = GetFileAttributes(wcBuff); if (wfFileData.dwFileAttributes != INVALID_FILE_ATTRIBUTES) { wcscat_s(wcBuff, wcMask); hFile = FindFirstFile(wcBuff, &wfFileData);
C++ Удалить k элементов массива, начиная с L Массив int*mas Нужно удалить k элементов, начиная с L http://www.cyberforum.ru/cpp-beginners/thread963926.html
C++ HeapSort (В чем ошибка?)
Программа не правильно выводит отрицательные значения, помогите исправить код. #include <iostream> using namespace std; void Heapify(int A,int i, int heapsize); void HeapSort(int A,int heapsize); void BuildHeap(int A,int heapsize); int main() { const int heapsize=5;
C++ Списки, очередь
Определить структуру очереди и разработать функции, необходимые для работы с заданным контейнером: функцию добавления элемента (память под очередной элемент контейнера следует удалять динамически), функцию удаления элемента, функцию печати содержания контейнера на экран, функцию удаления контейнера. Разработать программное приложение, в котором создается контейнер и заполняется элементами в...
C++ что не так с кодом? http://www.cyberforum.ru/cpp-beginners/thread963916.html
Только начал изучать программирование по книге Прата С. возникли проблемы с упражнениями в конце второй главы, а именно с 5: Напишите программу, в которой функция main() вызывает определяемую пользователем функцию, принимающую в качестве аргумента значение температуры по Цельсию и возвращающую эквивалентное значение температуры по Фаренгейту. Программа должна выдать запрос на ввод значения по...
C++ Определить, сколько элементов стека, начиная от вершины, находится до элемента с минимальным значением Есть стек с числами от -50 до 50 Помогите :определить, сколько элементов стека, начиная от вершины, находится до элемента с минимальным значением. #include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; struct Stack { подробнее

Показать сообщение отдельно
sime
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 6
27.09.2013, 22:35     Класс для работы с файлами
День добрый. Столкнулся со следующей проблемой.
Задание: создать класс, инкапсулирующий работу с файлами через стандартную библиотеку С(fopen,fclose и т.д.). Реализовать методы открытия, закрытия, записи для double,int, записи в текстовом и двоичном виде.
Собственно, написал следующий код и при попытки открыть файл с помощью Fopen()консолька закрывается
такая же проблема с методом fread() какая ошибка в коде ?
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
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
class Files
{
private:
    FILE *f;
    char* FileName;
public:
    Files(){};// ГЄГ®Г*ñòðóêòîð ГЇГ® óìîë÷Г*Г*ГЁГѕ
    
    Files(char* FileName)
    {
        f=fopen(FileName,"a+");
    }
    
    ~Files()
    {
        fclose(f);         
                 };
 
    void Files::Open(Files f) //ìåòîä îòêðûòèÿ ГґГ*éëГ*
    {
        
        f.f=fopen(Files::GetName(),"w+");
    }
    void Files::Close(Files f)
    {
         
         }
    
    char* Files::GetName(){return FileName;} //Гґ-Гї, âîçâðГ*Г№Г*ГѕГ№Г*Гї èìÿ
//ГґГ*éëГ*
    void Files::WriteD(double *d,int n,Files f) // Г§Г*ГЇГЁГ±Гј äëÿ double
    {
        
        for(int i=0;i<n;i++)
            fprintf(f.f," %f ",d[i]);
    
    }
    
    void Files::WriteInt(int *in,int n, Files f) // Г§Г*ГЇГЁГ±Гј äëÿ int
    {
        for(int i=0;i<n;i++)
            fprintf(f.f,"%i",in[n]);
        
    }
    
    void Files::WriteHex(double *d,int n,Files &f) // Г§Г*ГЇГЁГ±Гј Гў äâîè÷Г*îì êîäå
    {
        for(int i=0;i<n;i++)
            fprintf(f.f,"%x",d[n]); 
    }
    void Files::ReadD(double *d,int n,Files f) // Г§Г*ГЇГЁГ±Гј äëÿ double
    {
        
        for(int i=0;i<n;i++)
            fscanf(f.f," %f ",d[i]);
    
    }
    
    
    
};
int main ()
{
    
    
{   
    int comand;
    cout<<"vvedite comand"<<endl;
    cin>>comand;
        char* Name="2.txt";
        if(comand==1){
            double db[3]={1.95, 2, 3};
 
    Files f1=Files(Name);
    f1.WriteD(db, 3  ,f1);
}
else{
     double db[3]={1.95, 2, 3};
    Files f2=Files(Name);
    f2.ReadD(db, 3  ,f2);
}
 
 
}
 
 
 
        system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru