Иллюстрированный самоучитель по Visual Studio.Net

         

Меняем тип указателя, так как



UINT *p = (UINT*)buff;

//====== Размещаем данные целого типа

*р++ = m_xSize;

*р++ = m_zSize;

//====== Меняем тип указателя, так как дальше

//====== собираемся записывать вещественные числа

float *pf = (float*)?;

//=== Предварительно вычисляем коэффициенты уравнения

double fi = atan(l.)*6,

kx = fi/nx,

kz = fi/nz;

//====== В двойном цикле пробега по сетке узлов

//=== вычисляем и помещаем в буфер данные типа float

for (UINT i=0; i<ra_zSize;

for (UINT j=0; j<m_xSize;

{

*pf++ = float (sin(kz* (i-nz/2.) ) * sin (kx* (j-nx/2. ) )

}

}

//=== Переменная для того, чтобы узнать сколько

//=== байт было реально записано в файл DWORD nBytes;

//=== Создание и открытие файла данных sin.dat

HANDLE hFile = CreateFile (_T ("sin .dat") , GENERIC_WRITE,

0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0)

//====== Запись в файл всего буфера

WriteFile (hFile, (LPCVOID) buff, nSize, SnBytes, 0) ;

//====== Закрываем файл

CloseHandle (hFile) ;

//====== Создание динамического массива m_cPoints

SetGraphPoints (buff, nSize) ;

//====== Освобождаем временный буфер

delete [] buff;

}

В процессе создания, открытия и записи в файл мы пользуемся API-функциями CreateFile, WriteFile и CloseHandle, которые предоставляют значительно больше возможностей управлять файловых хозяйством, чем, например, методы класса CFile или функции из библиотек stdio.h или iostream.h. Обратитесь к документации, для того чтобы получить представление о них.




Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий