Red de conocimiento informático - Computadora portátil - ¡Cómo utilizar la función FtpPutFile() en lenguaje C para cargar archivos al servidor Ftp! ¡Puedes usar FtpGetFile()!

¡Cómo utilizar la función FtpPutFile() en lenguaje C para cargar archivos al servidor Ftp! ¡Puedes usar FtpGetFile()!

No existe una función FtpPutFile en lenguaje C, esta es una función en VB.

El lenguaje C puede utilizar la función CStdioFile para abrir archivos locales. Utilice la clase CInternetSession para crear e inicializar un archivo de servidor FTP abierto por Internet.

CStdioFile hereda de CFile. El objeto CStdioFile representa un archivo continuo de tiempo de ejecución C abierto con la función de tiempo de ejecución fopen.

Los archivos de transmisión se almacenan en un búfer y se pueden abrir como archivos de texto (predeterminado) o binarios. El modo de texto proporciona un manejo especial de pares de retorno forzado y avance de línea. Cuando se escribe un carácter de nueva línea (0x0A) en un objeto CStdioFile basado en texto, se envía un par de bytes (0x0D, 0x0A) al archivo. Al leer un archivo, un par de bytes (0x0D, 0x0A) se convierte en un solo byte (0x0A).

CStdioFile no admite las funciones Duplicar, LockRange y UnlockRange CFile. Si estas funciones se llaman en CStdioFile, se producirá una excepción CNoSupported.

Utilice la clase CInternetSession para crear e inicializar una o más sesiones de Internet simultáneas. Si es necesario, también puede describir la conexión con el servidor proxy.

Si se debe mantener una conexión a Internet durante la aplicación, puede crear un miembro CInternetSession similar a CWinApp. Una vez establecida la sesión de Internet, puede llamar a OpenURL. CInternetSession asigna URL para su análisis llamando a la función global AfxParseURL. CInternetSession interpreta la URL y la administra independientemente del tipo de protocolo. Puede manejar solicitudes de archivos locales marcados por el recurso URL "file://". Si el nombre que se le pasa es un archivo local, OpenURL devolverá un puntero a un objeto CStdioFile.

Si utiliza OpenURL para abrir una URL en un servidor de Internet, puede leer la información desde aquí. Si desea realizar el comportamiento de un servicio determinado (por ejemplo, HTTP, FTP o Gopher) ubicado en un servidor, debe establecer una conexión adecuada con ese servidor.

General:

#Contiene? ltwinsock.h gt

¿#Contiene? ltstdio.h gt

¿Palabras? wVersionRequested

¿WSADATA? wsaData

¿Carácter? nombre[255];? //nombre es el nombre local.

CString? PI;? //IP local

PHOSTENT? hostinfo

wVersionRequested? =?MAKEWORD(?1,?1?);

¿Si? (?WSAStartup(?wVersionRequested,?ampwsaData?)?==?0?)

{

if (?gethostname?(?nombre,?sizeof(nombre)) ? = =?0)

{

Si ((hostinfo?=?gethostbyname(nombre))?!=?empty)

{

ip? =?inet_ntoa? (((struct?in_addr?*)* hostinfo-gt;h_addr_list);

}

}

WSACleanup(?);

}

//?AfxMessageBox(nombre); //nombre es el nombre local

//?AfxMessageBox(IP); //ip es el nombre local.

CStdioFile?

File.Open("C://ip.txt", CFile::mode crear | CFile::moderead write);

//Si el archivo no existe de antemano, se requiere CFile::modeCreate; de ​​lo contrario, no es necesario

File. p>File. close(); //Tenga en cuenta que el archivo debe cerrarse aquí; de lo contrario, la carga no se podrá realizar correctamente.

CString? p>

CString? = " 19337 ";

CString? contraseña = " 1234567 ";

TRACE(":s:s:s/n",? moderador,?

Usuario,?Contraseña,?"C://IP.txt");

C¿Sesión de Internet?

(AfxGetApp()-gt; m_pszAppName);

CFtpConnection? =?NULL

pConn? =?(Host, Usuario, Contraseña); p>If?(!pConn- gt;PutFile("C://ip.txt","ip.txt"))

{

MessageBox("Error en la transferencia del archivo ");

}? ¿En caso contrario? {

MessageBox("¡Transferencia de archivo exitosa!");

}

pConn- gt ; close();

¿Eliminar? pConn

Sesión.

}? {

}