Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему-то не находятся файлы по маске https://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...
C++ Удалить k элементов массива, начиная с L
Массив int*mas Нужно удалить k элементов, начиная с L
C++ HeapSort (В чем ошибка?)
Программа не правильно выводит отрицательные значения, помогите исправить код. #include <iostream> using namespace std; void Heapify(int A,int i, int heapsize); void HeapSort(int A,int...
C++ Списки, очередь Определить структуру очереди и разработать функции, необходимые для работы с заданным контейнером: функцию добавления элемента (память под очередной элемент контейнера следует удалять динамически),... https://www.cyberforum.ru/ cpp-beginners/ thread963920.html
C++ что не так с кодом? https://www.cyberforum.ru/ cpp-beginners/ thread963916.html
Только начал изучать программирование по книге Прата С. возникли проблемы с упражнениями в конце второй главы, а именно с 5: Напишите программу, в которой функция main() вызывает определяемую...
Определить, сколько элементов стека, начиная от вершины, находится до элемента с минимальным значением C++
Есть стек с числами от -50 до 50 Помогите :определить, сколько элементов стека, начиная от вершины, находится до элемента с минимальным значением. #include<iostream> #include<stdio.h>...
Пишет ошибку Declaration terminated Incorrectly C++
Прошу помочь мне с вот такой задачей: Дана матрица A=(aij)mxn. Найти минимальные элементы среди отрицательных элементов строк с четными номерами матрицы A. Из них сформировать одномерный массив...
C++ Mutex блокировка приватного поля класса Доброго времени суток. Использую Qt Creator 5.1.1 MinGW 32 Вопрос в следующем.. Есть класс "A" в котором есть поля private и public, информация которую нужно блокировать находится в поле private.... https://www.cyberforum.ru/ cpp-beginners/ thread963907.html
C++ c++ и ассемблер https://www.cyberforum.ru/ cpp-beginners/ thread963891.html
есть процедура на ассемблер .model small .code _count proc push bp xor ebp, ebp mov bp, sp
C++ Сертификат x509 Подскажите, пожалуйста, по поводу сертификата x509. Я скачал сертификат, например, GTE CyberTrust Global Root, где в составе имеются поля: версия, серийный номер, алгоритм подписи, издатель,... https://www.cyberforum.ru/ cpp-beginners/ thread963885.html
0 / 0 / 1
Регистрация: 11.04.2013
Сообщений: 6
0

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

27.09.2013, 22:35. Просмотров 2298. Ответов 2
Метки (Все метки)

День добрый. Столкнулся со следующей проблемой.
Задание: создать класс, инкапсулирующий работу с файлами через стандартную библиотеку С(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");
}


Вернуться к обсуждению:
Класс для работы с файлами
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2013, 22:35
Готовые ответы и решения:

Мой класс для работы с файлами
Здравствуйте! Я попробовал сделать свой класс для работы с файлами и показать его здесь с целью...

Элементарный класс для работы с файлами, компилятор выдает ошибку, что не так с private
#include &lt;ctime&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt;...

Класс: создать класс Fraction для работы с дробными числами
Необходимо создать класс Fraction для работы с дробными числами. Число должно быть представлено...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для...

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