Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CFile

1.8K
20 апреля 2003 года
alex-better
54 / / 08.03.2003
Объясните по-человечески:
Как записывать и читать файлы с помощью класса CFile?
У меня есть код программы:
//Bank.h
double bank[2];
//Bank.cpp
void Bank::OnOk()
{
double x[2];
CFile File("data\\bank.dat",CFile::modeRead);
for(int i;i<2;i++)
{
File.Seek(100*i,CFile::begin);
File.Read(x,100);
bank = double(x);
}
}

void Bank::OnOK()
{

CFile File("data\\bank.dat",CFile::modeCreate | CFile::modeWrite);
for(int index = 0; index<2;index++)
{
File.Write(bank[index],100);//Ошиб
}
File.Close();
}
Компилятор выдаёт ошибку: <<Bank.cpp(138) : error C2664: 'Write' : cannot convert parameter 1 from 'double' to 'const void *'
There is no context in which this conversion is possible>>
Проблему я понял, но как её исправить???
426
20 апреля 2003 года
Krivonos
112 / / 20.01.2000
Цитата:
Originally posted by alex-better
Объясните по-человечески:
Как записывать и читать файлы с помощью класса CFile?
У меня есть код программы:
//Bank.h
double bank[2];
//Bank.cpp
void Bank::OnOk()
{
double x[2];
CFile File("data\\bank.dat",CFile::modeRead);
for(int i;i<2;i++)
{
File.Seek(100*i,CFile::begin);
File.Read(x,100);
bank = double(x);
}
}

void Bank::OnOK()
{

CFile File("data\\bank.dat",CFile::modeCreate | CFile::modeWrite);
for(int index = 0; index<2;index++)
{
File.Write(bank[index],100);//Ошиб
}
File.Close();
}
Компилятор выдаёт ошибку: <<Bank.cpp(138) : error C2664: 'Write' : cannot convert parameter 1 from 'double' to 'const void *'
There is no context in which this conversion is possible>>
Проблему я понял, но как её исправить???


Ну если ты понял, так в чем тогда сложность? :)
Попробуй вот так:
File.Write((void*)bank[index],100);

1.8K
22 апреля 2003 года
alex-better
54 / / 08.03.2003
Проблема в том, что я не могу исправить ошибку.

А твой код тоже не работает.:sad:

А нельзя, чтобы объект был сразу и void и double?:D
1.8K
24 апреля 2003 года
alex-better
54 / / 08.03.2003
Цитата:
Originally posted by alex-better
Проблема в том, что я не могу исправить ошибку.



Люди, что никто не может мне помоч???
Click here

426
24 апреля 2003 года
Krivonos
112 / / 20.01.2000
ну, напиши так:
File.Write((void*)&bank[index],100);
1.8K
25 апреля 2003 года
Jeff
94 / / 22.04.2003
Цитата:
Originally posted by alex-better


Люди, что никто не может мне помоч???
Click here



//запись в файл
CFile File( "data\\bank.dat", CFile::modeCreate | CFile::modeWrite );
for( int index = 0; index<2;index++ )
{
File.Write( &bank[index], sizeof(double) );
}
File.Close();

//чтение из файла
char* readBuff = new char[sizeof(double)];
CFile File( "data\\bank.dat", CFile::modeRead );
for( int i ; i < 2 ; i++ )
{
File.Seek( sizeof(double)*i, CFile::begin );
File.Read( readBuff, sizeof(double) );

bank = *((double*)inBuff);
}
delete []readBuff;

Вот такие пироги.

1.8K
25 апреля 2003 года
alex-better
54 / / 08.03.2003
->Krivonos:
Я написал так, как ты сказал и оно заработало.
->Jeff:
Твой код тоже работает, но он слишком большой и сложноватый.

Всем спасибо












Click Here
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог