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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Andruchka
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
#1

Работа с файлами - C++

25.12.2011, 00:06. Просмотров 563. Ответов 3
Метки нет (Все метки)

написал класс fail для чтения из файла

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class fail
{
    public:
        fail( int = 0, string = "" );
 
        void setNom( int nomValue );
        void setStr( string strValue );
 
        int getNom( void ) const;
        string getStr( void ) const;
 
    private:
        int nom;
        string str;
 
};
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
fail::fail( int nomValue, string strValue )
{
    setNom( nomValue );
    setStr( strValue ); 
}
 
void fail::setNom( int nomIcqValue )
{
    nom= nomIcqValue;
}
 
void fail::setStr( string strValue )
{
    str = strValue;
}
 
int fail::getNom( void ) const
{
    return nom;
}
 
string fail::getStr( void ) const
{
    return str;
}
функция main
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main( void )
{
    SetConsoleCP( 1251 );
    SetConsoleOutputCP( 1251 );
 
    fail data;
 
    newFile( );
    read( );
 
    system( "pause" );
    return 0;
}
функция newFail
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void newFile( void )
{
    int numberValue = 0;
    string strValue = "";
    fail data;
 
    ofstream noomOut( "nom.txt", ios::binary );
 
    while( cin >> numberValue >> strValue  )
    {
        data.setNom( numberValue );
        data.setStr( strValue );
 
        noomOut.write( reinterpret_cast< const char * >( &data ), sizeof( fail )  );
    }
 
    cout << "\nВвод закончен" << endl;
    noomOut.close();
}
функция read
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void read( void )
{
    fail data;
    ifstream noomInp( "nom.txt", ios::in );
 
    if( !noomInp )
        exit( 2 );
 
    noomInp.read( reinterpret_cast< char * >( &data ), sizeof( fail ) );
    
    while( !noomInp.eof() )
    {
        cout << data.getNom() << " " << data.getStr() << endl;
        noomInp.read( reinterpret_cast< char * >( &data ), sizeof( fail ) );
    }
 
    noomInp.close();
}
ошибка в следующем( см. вложение )

и еще вопрос когда записываешь в файл спомощью операции read он в файл записывает в двоичной виде, можно ли записывать его через read, но что бы после записи в файл его можно было прочесть обычному пользователю? Просто создавать отдельный файл?
Миниатюры
Работа с файлами  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 00:06     Работа с файлами
Посмотрите здесь:

Работа с файлами - C++
Заполнить файл N действительными числами, полученными с помощью генератора случайных чисел. Найти сумму минимального и максимального...

работа с файлами - C++
Помогите написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв.

Работа с файлами - C++
Почему программа не читает из файла матрицу, а просто выводит мне пустую консоль? #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

Работа с файлами - C++
Добрый вечер! Помогите, есть какая - то лажа: код компилится но консоль виснет и в файл ничего не записывается. #include...

Работа с файлами - C++
Доброго времени суток. Нужна ваша помощь в общем есть у нас файл который создан в putti, перед этим файлом написано -r-w-x-- (r-чтение,...

Работа с файлами - C++
ДОБРЫЙ ВЕЧЕР! Такая задачка.. Написать программу по созданию базы данных ( например: имя, фамилия, возраст). Программа создает эту...

Работа с файлами - C++
Через #include подключить 2 файла которые уже существуют и затем вызвать их программой. Кто может бросить код?

Работа с файлами - C++
Помогите исправить ошибки, не знаю, как убрать бесконечный цикл. Дан текстовый файл. В нем записаны слова. Во второй файл записать самое...

работа с файлами - C++
подскажите как можно сохранить/считать с файла *.dat и чтобы этот файл не смогли прочесть(даже открыть) другие пользователи.

Работа с файлами - C++
Помогите написать программу, я даже не знаю к чему взяться! Я с файлами пока не дружу! Спасибо всем кто откликнется) Дано текстовый файл,...

Работа с файлами - C++
Дан файл f, содержащий сведения о веществах: указывается название вещества, его удельный вес и проводимость (проводника, полупроводник,...

работа с файлами - C++
Здравствуйте! Написать программу, определяющую сумму &quot;S=1/2+......+1/10,&quot; записывать S во внешний файл, закрыть файл, открыть файл и...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andruchka
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
25.12.2011, 11:45  [ТС]     Работа с файлами #2
что ни кто не знает в чем проблема?
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,927
Завершенные тесты: 1
25.12.2011, 12:06     Работа с файлами #3
Все знают, но лень отвечать по такой ерунде. string нельзя писать в файл напрямую, это не POD-тип. Надо писать по отдельности число и содержимое буфера строки, возвращаемое функцией c_str. Читать - в промежуточный буфер char и потом порождать из того буфера string, ну или присваивать там... Попытки писать-читать string как обычный кусок памяти напоминают попытку пересадки селезёнки ножом и вилкой с использованием вместо донорского органа еловой шишки.
Andruchka
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
25.12.2011, 12:18  [ТС]     Работа с файлами #4
в книге через string написано, и у них вроде как все работает просто
Yandex
Объявления
25.12.2011, 12:18     Работа с файлами
Ответ Создать тему
Опции темы

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