Como puedo leer archivos

18/11/2004 - 18:36 por HardSoft S.A | Informe spam
Hola Amigos

Una consulta como puedo leer archivos con extension DAT quisiera poder leer
la informacion que se encuentra dentro de estos archivos, que son como
tablas para un sistema Elaborado en C

Gracias de antemano


Wilbert
 

Leer las respuestas

#1 Fernando Marin
18/11/2004 - 18:51 | Informe spam
Hola Wilbert

La extensión dat podria contener datos binarios o de texto, por lo general
con la extensión dat es para datos formateados con delimitadores, en
principio intenta abrilo con el notepad, si puedes ver los datos separados
por comas, tabuladores o espacio, las columnas y un salto de linea para las
filas, o algo así, to tienes ningún problema para leer el archivo

Puedes usar código como el siguiente para leer un archivo

BOOL LeeFichero(CString sNombreFichero,CString &sTexto,BOOL bMsgError)
{
CFileException eOpen;
char *texto=NULL;
CString sError=_T("");
sTexto=_T("");
TRY
{
CFile FicheroLectura;
if (FicheroLectura.Open(sNombreFichero,CFile::modeRead,&eOpen))
{

UINT uActual;
UINT uVar=1;
UINT tam = (UINT)(FicheroLectura.GetLength()); //
texto=new char[tam+1];
uActual=FicheroLectura.Read(texto,tam);
texto[tam];
sTexto=texto;
}
else
{
if(bMsgError)
{
switch(eOpen.m_cause )
{
case CFileException::none:sError=_T(" No error occurred."); break;
case CFileException::generic:sError=_T(" An unspecified error
occurred."); break;
case CFileException::fileNotFound: sError=_T(" The file could not be
located."); break;
case CFileException::badPath: sError=_T(" All or part of the path is
invalid."); break;
case CFileException::tooManyOpenFiles: sError=_T(" The permitted
number of open files was exceeded."); break;
case CFileException::accessDenied: sError=_T(" The file could not be
accessed."); break;
case CFileException::invalidFile: sError=_T(" There was an attempt to
use an invalid file handle."); break;
case CFileException::removeCurrentDir: sError=_T(" The current
working directory cannot be removed."); break;
case CFileException::directoryFull: sError=_T(" There are no more
directory entries."); break;
case CFileException::badSeek: sError=_T(" There was an error trying
to set the file pointer."); break;
case CFileException::hardIO: sError=_T(" There was a hardware
error."); break;
case CFileException::sharingViolation: sError=_T(" SHARE.EXE was not
loaded, or a shared region was locked."); break;
case CFileException::lockViolation: sError=_T(" There was an attempt
to lock a region that was already locked."); break;
case CFileException::diskFull: sError=_T(" The disk is full.");
break;
case CFileException::endOfFile: sError=_T(" The end of file was
reached."); break;
default: sError=_T(" Error desconocido ");
}
sError=_T(" Error al escribir el archivo debido a: ")+sError;
AfxMessageBox(sError);
}
return FALSE;
}
FicheroLectura.Close();
}
CATCH(CFileException,e)
{
if(bMsgError)
{
switch(e->m_cause )
{
case CFileException::none:sError=_T(" No error occurred."); break;
case CFileException::generic:sError=_T(" An unspecified error
occurred."); break;
case CFileException::fileNotFound: sError=_T(" The file could not be
located."); break;
case CFileException::badPath: sError=_T(" All or part of the path is
invalid."); break;
case CFileException::tooManyOpenFiles: sError=_T(" The permitted
number of open files was exceeded."); break;
case CFileException::accessDenied: sError=_T(" The file could not be
accessed."); break;
case CFileException::invalidFile: sError=_T(" There was an attempt to
use an invalid file handle."); break;
case CFileException::removeCurrentDir: sError=_T(" The current working
directory cannot be removed."); break;
case CFileException::directoryFull: sError=_T(" There are no more
directory entries."); break;
case CFileException::badSeek: sError=_T(" There was an error trying to
set the file pointer."); break;
case CFileException::hardIO: sError=_T(" There was a hardware
error."); break;
case CFileException::sharingViolation: sError=_T(" SHARE.EXE was not
loaded, or a shared region was locked."); break;
case CFileException::lockViolation: sError=_T(" There was an attempt
to lock a region that was already locked."); break;
case CFileException::diskFull: sError=_T(" The disk is full."); break;
case CFileException::endOfFile: sError=_T(" The end of file was
reached."); break;
default: sError=_T(" Error desconocido ");
}
sError=_T(" Error al escribir el archivo debido a: ")+sError;
AfxMessageBox(sError);
}
delete [] texto;
return FALSE;
}
END_CATCH

delete [] texto;
return TRUE;
}


Si el archivo es binario se te complican un poco las cosas, ya que primero
debes saber el formato del archivo.


Un saludo
Fernando Marin

http://www.arrendamientos.biz



"HardSoft S.A" escribió en el mensaje
news:
Hola Amigos

Una consulta como puedo leer archivos con extension DAT quisiera poder
leer la informacion que se encuentra dentro de estos archivos, que son
como tablas para un sistema Elaborado en C

Gracias de antemano


Wilbert


Preguntas similares