Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:
Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro

CopyFile

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

CopyFile

Notapor farga el Jue Abr 24, 2008 2:46 pm

Hola.

estoy intentando copiar archivos desde un directorio hasta una carpeta que esta en otro diretorio y por su vez es donde se encuentra mi programa (hecho en visual c++), pero solo funciona con archivos .txt cuando intento copiar archivos .doc o .pdf no funciona. La funcion me queda como sigue:

CopyFile("D:\\FileOrigen.doc","FileDestino.doc",FALSE);

Ayuda por favor.

Muchas Gracias.

Farga.
farga
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 118
Registrado: Jue Ago 04, 2005 5:32 am

Re: CopyFile

Notapor ivancp el Jue Abr 24, 2008 3:21 pm

Te recomiendo utilizar esa funcion con las rutas completas:

Código: Seleccionar todo
CopyFile("D:\\FileOrigen.doc","C:\\ruta de destino\\FileDestino.doc",FALSE);


Para saber que es lo que realmente esta sucediendo puedes averiguarlo con el siguiente codigo:
Código: Seleccionar todo
if(CopyFile("D:\\FileOrigen.doc","C:\\ruta de destino\\FileDestino.doc",FALSE) == FALSE)
{
    ErrorExit("CopyFile");
}

El codigo de la funcion ErrorExit lo puedes encontrar en:
http://msdn2.microsoft.com/en-us/library/ms680582(VS.85).aspx

Código: Seleccionar todo
#include <windows.h>
#include <strsafe.h>

void ErrorExit(LPTSTR lpszFunction)
{
    // Retrieve the system error message for the last-error code

    LPVOID lpMsgBuf;
    LPVOID lpDisplayBuf;
    DWORD dw = GetLastError();

    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER |
        FORMAT_MESSAGE_FROM_SYSTEM |
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        dw,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) &lpMsgBuf,
        0, NULL );

    // Display the error message and exit the process

    lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT,
        (lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszFunction)+40)*sizeof(TCHAR));
    StringCchPrintf((LPTSTR)lpDisplayBuf,
        LocalSize(lpDisplayBuf) / sizeof(TCHAR),
        TEXT("%s failed with error %d: %s"),
        lpszFunction, dw, lpMsgBuf);
    MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK);

    LocalFree(lpMsgBuf);
    LocalFree(lpDisplayBuf);
    ExitProcess(dw);
}
ivancp
Programador
Programador
 
Mensajes: 242
Registrado: Jue Sep 06, 2007 12:57 pm


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados