разбор dbf (DBASE III, IV)
Работаю с dbf форматом и немогу вытащить записи. Получается только извлечь их в CString (readstring), но туда лезет сразу все. Считываю в new unsigned char[](read), но не могу разобрать что за симыолы (получаю НННННННННэээ)??? Как бы это все сладить в VC++?
через ODBC
Нюанс: большинство файлов дбф были под дос, поэтому использовал ф-ии OemToChar и CharToOem
class TDBFHeaderDescrStruct
{
public:
unsigned char m_dbtype; // Type of DBF file··············· //
unsigned char m_year; // Year of DBF file··············· //
unsigned char m_month; // Month of DBF file·············· //
unsigned char m_day; // Day of DBF file················ //
unsigned long m_reccount; // Record count··················· //
unsigned short m_position; // Position of first record······· //
unsigned short m_recordlen; // Lenght of record··············· //
char m_reserved1[16]; // Reserved bytes················· //
unsigned char m_cdx; // Is CDX-file ··················· //
char m_reserved2[3]; // Reserved bytes (0x00)·········· //
};
class TDBFFieldDescrStruct
{
public:
char m_fieldname[11]; // Field name: 11 chars··········· //
unsigned char m_fieldtype; // Field type: C,N,D,L,M·········· //
unsigned long m_fieldadress; // Field adress··················· //
unsigned char m_fieldlen; // Field lenght··················· //
unsigned char m_fielddec; // Lenght of decimal places······· //
char m_reserved[14]; // Reserved bytes················· //
};
Причем пока нет данных в буфере все нормально, но стоит присвоить хоть один символ и хана.
delete надо использовать только вместе с new
//*********************
char *buf;
buf = new char;
delete buf;
Вот этот вариант работает нормально.
//**********************
А следующий уже не работает!
//**********************
char *buf;
buf = new char;
buf = "string";
delete buf;
(не получается и delete [] buf и dlete [7] buf)
//***********************
В общем не могу удалить не нулевую переменную.