elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Consulta y eliminación.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Consulta y eliminación.  (Leído 3,513 veces)
KZN

Desconectado Desconectado

Mensajes: 98



Ver Perfil
[C] Consulta y eliminación.
« en: 13 Agosto 2016, 13:40 pm »

Necesito acceder a una carpeta que siempre se asigna un valor diferente, solo conserva una parte en concreto ".default"
Código:
chdir (".default");

Estoy buscando la forma de que al acabar el código el archivo generado se elimine pero no lo consigo

Código:
ERASE %0


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [C] Consulta y eliminación.
« Respuesta #1 en: 13 Agosto 2016, 14:09 pm »

Para eliminar, puedes hacer remove(archivo), de la librería stdio.h (cstdio en C++)
http://www.cplusplus.com/reference/cstdio/remove/

Con respecto a lo primero, puedes listar los archivos en el directorio hasta encontrarlo.
En Windows, para listar, tienes FindFirstFile y FindNextFile, de windows.h:
FindFirstFile
FindNextFile

Al listar, te darán una estructura WIN32_FIND_DATA. Sus campos, los puedes ver aquí:
WIN32_FIND_DATA
El que te interesa, el nombre, es el campo cFileName.

En la página de FindFirstFile te aparece un ejemplo de cómo usarlo. Pero bueno, aquí un resumen (Las salidas de datos están en C++):
Código
  1. #include <iostream>
  2. #include <windows.h>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7. char path[] = "C:\\users\\*";
  8. WIN32_FIND_DATA wf;
  9. HANDLE handle = FindFirstFile(path, &wf);
  10. if(handle != INVALID_HANDLE_VALUE){
  11. do{
  12. if(strcmp(wf.cFileName, ".")!=0 && strcmp(wf.cFileName, "..")!=0){
  13.  
  14. // Aqui tendrás la estructura con los datos del archivo actual
  15. cout << wf.cFileName << endl;
  16.  
  17. }
  18. }while( FindNextFile(handle,&wf) );
  19. FindClose(handle);
  20. }else{
  21. cout << "No se pudo abrir la carpeta" << endl;
  22. }
  23. }

Importante que a FindFirstFile, el path que le pasas termine en "\\*" (o "/*"), sinó solo "enumerará" la propia carpeta.


« Última modificación: 13 Agosto 2016, 14:11 pm por ivancea96 » En línea

KZN

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: [C] Consulta y eliminación.
« Respuesta #2 en: 20 Agosto 2016, 03:19 am »

Lo que necesito no es eliminar un archivo, necesito remover el programa que estoy generando al finalizarlo.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [C] Consulta y eliminación.
« Respuesta #3 en: 20 Agosto 2016, 03:40 am »

En ese caso, puedes crear con el programa un batch que se encargue de borrar el programa (y luego a si mismo), y llamarlo con "system("start archivo.bat");"
En línea

mester

Desconectado Desconectado

Mensajes: 219


https://www.youtube.com/watch?v=IlY9C6pzxKc


Ver Perfil WWW
Re: [C] Consulta y eliminación.
« Respuesta #4 en: 20 Agosto 2016, 12:51 pm »

Lo que necesito no es eliminar un archivo, necesito remover el programa que estoy generando al finalizarlo.

Citar
En ese caso, puedes crear con el programa un batch que se encargue de borrar el programa (y luego a si mismo), y llamarlo con "system("start archivo.bat");"

O lo que puedes hacer es moverlo a la carpeta temporal del sistema.
En línea

Justicia es dar a cada uno lo que se merece
KZN

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: [C] Consulta y eliminación.
« Respuesta #5 en: 22 Agosto 2016, 19:40 pm »

¿Por código como hago que el programa generado en C independientemente de la ruta de iniciación se mueva a la carpeta temporal? Eso me ayudaría bastante para cerrar tema
En línea

mester

Desconectado Desconectado

Mensajes: 219


https://www.youtube.com/watch?v=IlY9C6pzxKc


Ver Perfil WWW
Re: [C] Consulta y eliminación.
« Respuesta #6 en: 24 Agosto 2016, 14:26 pm »

¿Por código como hago que el programa generado en C independientemente de la ruta de iniciación se mueva a la carpeta temporal? Eso me ayudaría bastante para cerrar tema
Código
  1. int main () {
  2.  char *proName = (char *)(calloc (1025, sizeof (char)));
  3.  
  4.  GetModuleFileName ( GetModuleHandle (NULL), proName, 1024);
  5.  
  6.  return !MoveFile (proName, "(carpeta temporal de windows)");
  7. }

En línea

Justicia es dar a cada uno lo que se merece
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Eliminacion de posts. « 1 2 »
Sugerencias y dudas sobre el Foro
Banti 18 7,936 Último mensaje 6 Enero 2009, 06:46 am
por JERRY110982
eliminacion de usuario
Sugerencias y dudas sobre el Foro
El Rengo 8 4,938 Último mensaje 12 Marzo 2010, 05:53 am
por sirdarckcat
Consulta, modificacion, Eliminacion, Adicion(Codigos)
.NET (C#, VB.NET, ASP)
adonay_sv 4 5,676 Último mensaje 30 Mayo 2010, 17:12 pm
por adonay_sv
Eliminación de huellas
Nivel Web
cibergolen 0 2,698 Último mensaje 2 Diciembre 2011, 19:40 pm
por cibergolen
Eliminación de POST « 1 2 »
Sugerencias y dudas sobre el Foro
Shell Root 19 8,310 Último mensaje 31 Diciembre 2013, 19:38 pm
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines