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

Как при помощи ф-ий read/write записать в файл, а потом считать с него - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.81
Liv-pooL
1 / 1 / 0
Регистрация: 17.04.2011
Сообщений: 142
12.03.2012, 23:03     Как при помощи ф-ий read/write записать в файл, а потом считать с него #1
Такой вопрос!
Как при помощи ф-ий read/write записать в файл, а потом считать с него различные типы данных, как int,double, char, char[5].
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
14.03.2012, 17:01     Как при помощи ф-ий read/write записать в файл, а потом считать с него
  #21

Не по теме:

Цитата Сообщение от Liv-pooL Посмотреть сообщение
-=ЮрА=-, под Linux изучаем.
- я под него не пишу...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Liv-pooL
1 / 1 / 0
Регистрация: 17.04.2011
Сообщений: 142
14.03.2012, 17:46  [ТС]     Как при помощи ф-ий read/write записать в файл, а потом считать с него #22
-=ЮрА=-,
Ну мне разобраться хотя бы под Win, а под линукс переделать не сложно.

Добавлено через 47 секунд
Еще раз спасибо за помощь, наконец добил)
-=ЮрА=-
Заблокирован
Автор FAQ
14.03.2012, 17:56     Как при помощи ф-ий read/write записать в файл, а потом считать с него #23
Цитата Сообщение от Liv-pooL Посмотреть сообщение
Ну мне разобраться хотя бы под Win
- так я уже тебе и код поцепил который пишет и читает инт дабл и чар(пост16), что ещё не понятно???
Liv-pooL
1 / 1 / 0
Регистрация: 17.04.2011
Сообщений: 142
14.03.2012, 21:26  [ТС]     Как при помощи ф-ий read/write записать в файл, а потом считать с него #24
-=ЮрА=-,
Все, Юрий, спасибо, я разобрался и доделал)

Добавлено через 3 часа 25 минут
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
#include <string.h>
#include <iostream>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <errno.h>
using namespace std;
 
int MENU(void);
 
int main()
{
        int f;
        int i_val,i_val2;
    long int li_val,li_val2;
    short int si_val,si_val2;
    float f_val,f_val2;
        double d_val,d_val2;
        char c_val,c_val2;
        char s_val[256] = {0};
    char s_val2[256] = {0};
 
START:
    cout<<endl<<"MENU"<<endl;
    int vib=MENU();
 
    switch(vib)
    {   
        case 1 :
        {
            int f1=creat("111.txt",S_IWRITE|S_IREAD);
            if (f1<0)
                {perror("Error");goto START;}
            else
                {cout<<"File 111.txt creat\n";goto START;}
        }
 
        case 2 :
        {
                f = open("111.txt",O_WRONLY);
                if(f<0)
                        {perror("Error"); goto START;}
                else
                {
                        cout<<"Enter int       : ";cin>>i_val;
                cout<<"Enter long int  : ";cin>>li_val;
                cout<<"Enter short int : ";cin>>si_val;
                cout<<"Enter float     : ";cin>>f_val;
                        cout<<"Enter double    : ";cin>>d_val;
                cout<<"Enter char      : ";cin>>c_val;
                        cout<<"Enter char *    : ";cin>>s_val;
 
                        write(f,(void *)&i_val,sizeof(i_val));
                write(f,(void *)&li_val,sizeof(li_val));
                        write(f,(void *)&si_val,sizeof(si_val));
                        write(f,(void *)&f_val,sizeof(f_val));
                        write(f,(void *)&d_val,sizeof(d_val));
                write(f,(void *)&c_val,sizeof(c_val));
                        write(f,(void *)&s_val,sizeof(s_val));
 
                        close(f);
            }
                
            f = open("111.txt",O_RDONLY);
                if(f<0)
                            {perror("Error"); goto START;}
                    else
                    {
                            read(f,(void *)&i_val2,sizeof(i_val2));
                read(f,(void *)&li_val2,sizeof(li_val2));
                        read(f,(void *)&si_val2,sizeof(si_val2));
                        read(f,(void *)&f_val2,sizeof(f_val2));
                            read(f,(void *)&d_val2,sizeof(d_val2));
                read(f,(void *)&c_val2,sizeof(c_val2));
                            read(f,(void *)&s_val2,sizeof(s_val2));
 
                            cout<<"\nRead int       : "<<i_val2<<endl;
                cout<<"Read long int  : "<<li_val2<<endl;
                cout<<"Read short int : "<<si_val2<<endl;
                cout<<"Read float     : "<<f_val2<<endl;
                            cout<<"Read double    : "<<d_val2<<endl;
                cout<<"Read char      : "<<c_val2<<endl;
                            cout<<"Read char *    : "<<s_val2<<endl;
                            close(f);
                    }
            goto START;
            }
 
        case 3 :
        {
            remove("111.txt");
            cout<<"Delite file\n";
            goto START;
        }
    }
 
        return 0;
}
 
int MENU(void)
{
    int vib;
    
    cout<<"1 - Creat file"<<endl;
    cout<<"2 - Write and read fail"<<endl;
    cout<<"3 - Delite fail"<<endl;
    cout<<"? - Exit"<<endl<<endl;
    cout<<"Your chouse : "; cin>>vib;
    
    return vib;
}
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
14.02.2014, 22:07     Как при помощи ф-ий read/write записать в файл, а потом считать с него #25
-=ЮрА=- у меня программный код из 16 поста завершается с ошибкой????? Подскажи пожалуйста в чем может быть причина????? Заранее огромное спасибо!!!!
Миниатюры
Как при помощи ф-ий read/write записать в файл, а потом считать с него  
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
14.02.2014, 22:28     Как при помощи ф-ий read/write записать в файл, а потом считать с него #26
Цитата Сообщение от isaak Посмотреть сообщение
-=ЮрА=- у меня программный код из 16 поста завершается с ошибкой
А этот код:
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
#include <iostream>
#include <fstream>
#include <fcntl.h>
using namespace std;
 
int main()
{
    int f;
    int i_val;
    double d_val;
    char s_val[256] = {0};
    ofstream infile("data.txt",ios::binary|ios::out);
    if(infile==NULL )
        cout<<"Error open data.txt\n";
    else
    {
        cout<<"Enter int    : ";cin>>i_val;
        cout<<"Enter double : ";cin>>d_val;
        cout<<"Enter char * : ";cin>>s_val;
        infile.write((const char*)&i_val,sizeof(i_val));
        infile.write((const char *)&d_val,sizeof(d_val));
        infile.write((const char *)&s_val,sizeof(s_val));
        infile.close();
 
        ifstream infile1("data.txt",ios::binary|ios::in);
        if(infile1==NULL)
            cout<<"Error open data.txt\n";
        else
        {
            infile1.read((char *)&i_val,sizeof(i_val));
            infile1.read((char *)&d_val,sizeof(d_val));
            infile1.read((char *)&s_val,sizeof(s_val));
            cout<<"Read int    : "<<i_val<<endl;
            cout<<"Read double : "<<d_val<<endl;
            cout<<"Read char * : "<<s_val<<endl;
            infile1.close();
        }
    }
    system("pause");
    return 0;
}
Добавлено через 1 минуту
Правда с корректностью проверки
C++
1
 if(infile1==NULL)
далеко не уверен
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 22:36     Как при помощи ф-ий read/write записать в файл, а потом считать с него
Еще ссылки по теме:

C++ Создать файл,потом записать в него данные и вывести их на консоль
Низкоуровневый ввод-вывод. Как с помощью функции write записать в файл тип int? C++
Записать в двоичный файл строку, потом считать ее и вывести на экран C++

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

Или воспользуйтесь поиском по форуму:
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
14.02.2014, 22:36     Как при помощи ф-ий read/write записать в файл, а потом считать с него #27
Спасибо, последний код отработал без ошибок.
Yandex
Объявления
14.02.2014, 22:36     Как при помощи ф-ий read/write записать в файл, а потом считать с него
Ответ Создать тему
Опции темы

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