Форум программистов, компьютерный форум 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 { подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.09.2013, 00:17     Класс для работы с файлами
Цитата Сообщение от sime Посмотреть сообщение
какая ошибка в коде ?
Нет проверки на открытие файла. Может такого файла нет в нужном месте.

Добавлено через 30 минут
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
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
class Files
{
private:
    FILE *f;
    char* FileName;
public:
    Files(){};// конструктор по умолчанию
 
    Files(char* FileName)
    {
        this ->FileName = 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]);
        fflush(f.f);
 
    }
 
    void Files::WriteInt(int *in,int n, Files f) // запись для int
    {
        for(int i=0;i<n;i++)
            fprintf(f.f,"%i",in[n]);
        fflush(f.f);
    }
 
    void Files::WriteHex(double *d,int n,Files &f) // запись в двоичном коде
    {
        for(int i=0;i<n;i++)
            fprintf(f.f,"%x",d[n]); 
        fflush(f.f);
    }
    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");
    return 0;
}
 
Текущее время: 23:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru