|
214
|
Programación / Programación C/C++ / Re: [C++]System()
|
en: 29 Agosto 2016, 00:15 am
|
Por hacer, recuerda que no necesitas comandos de consola para hacer nada. TU programa, la api de windows y las librerías de C++ son más que suficientes para valerse por sí mismos. Engeneral, la api de windows te dará todo lo que necesitas. Hay funciones para todo: Cambiar el directorio: SetCurrentDirectory Listar un directorio: FindFirstFile y FindNextFile Crear carpetas: CreateDirectory
Etc etc
Lo se, pero en esa funcion lo que queria hacer exactamente era, hacer un dir en cmd, moverme al directorio principal y ejecutar un solo comando mas para listar todos los archivos del sistema. Con la api de windows seria mucho mas tedioso no? Ademas que ahora mismo lo que me interesa es que pese poquisimo. Y creo que llevarme toda la api para utilizar un par de comandos...
|
|
|
215
|
Programación / Programación C/C++ / Re: [C++]System()
|
en: 28 Agosto 2016, 23:55 pm
|
Iba a postearlo antes, pero me dio un error el foro. ShellExecute, de windows.h Por ejemplo, para crear un directorio con mkdir: ShellExecute(NULL, NULL, "cm_d.exe", "/c mkdir \"C:\\directorio\"", NULL, 0);
El tercer argumento es el ejecutable que ejecutar (cmd en este caso). Luego, vienen los parámetros. Si a cmd se le pasa un /c, se le puede poner luego un comando. El resto de parámetros, míralos en la url si quieres si quieres. Tiene varias opciones. De todos modos, salvo que <realmente lo necesites>, te diría que utilices system. En primer lugar, porque evitas meterte en funciones que aumentarán la complejidad del código. Y luego, porque así evitas usar las librerías de windows. NOTA IMPORTANTE: Puse cm_d.exe porque sinó el foro lo detecta como si fuera un ataque, supongo. Quita la barrabaja, '_'Esa funcion estaba mirando precisamente, pero me parece que no me servira, porque segun tengo entendido se ejecuta paralelamente a mi codigo es decir mientras se ejecuta, se sige ejecutando mi codigo, pero yo necesito utilizar el retorno antes que nada, es decir que seguramente me genere errores a la larga. Pero igualmente muchisimas gracias
|
|
|
216
|
Seguridad Informática / Seguridad / Re: Seguridad anti-copia de datos memoria USB, SD/Micro SD ¿Es posible?
|
en: 28 Agosto 2016, 23:31 pm
|
Efectivamente.
Es una distro en base Linux que utilizo como centro multimedia, a la que no quería que pudieran acceder (modificar, copiar, etc) a los archivos de configuración.
A entonces lo tienes mas complicado... Sino otra opcion, pero que seria un poco mas liosa y si lo haces sin cuidado te lo puedes cargar, es crear una particion a parte y almacenar los ficheros que quieres compartir en esa particion, y la particion de linux la cifras con truecrypt y cuando lo vayas a usar lo descifras y teoricamente te ira bien, eso si te recomiendo que hagas una copia y no vayas a lo loco. Sino otra opcion pero un poco mas "fea" es cifrar los archivos de configuracion y cuando lso vayas a usar descifrarlo, pero ahi ya nose mucho del tema porque nunca lo e hecho y nose si seria posible sin que se dañara nada. Mi recomendacion es que dividas el usb en dos y cifres la particion del SO.
|
|
|
217
|
Seguridad Informática / Seguridad / Re: Seguridad anti-copia de datos memoria USB, SD/Micro SD ¿Es posible?
|
en: 28 Agosto 2016, 23:19 pm
|
Hola Poyoncio
Si hago el cifrado de los archivos de configuración, que es lo que no quiero que me puedan copiar, ¿no sería también "ilegibles" para el funcionamiento del S.O?
Es decir, pretendía tener una tarjeta funcional, pero que no pudiera ser copiada sin mi consentimiento.
A entonces no te servira... Pero no entiendo exactamente el contexto, es decir, tienes un USB con archivos, pero esos archivos que son, es decir son ficheros tipo .docx, .pdf (ficheros normal y corrientes) o ficheros que forman parte de un kernel (es decir ficheros que si los modificas o los borras no te deja bootear el usb)? Esque no acabo de entender a que te refieres. Segun e entendido por lo que explicas son ficheros, de tipo pdf y tal. Si son ficheros asi, los puedes cifrar y pasarle el usb a quien sea mientras esten cifrados, y una vez te lo devuelvan y quieras volver a usar esos ficheros los descifras y ya esta...
|
|
|
219
|
Programación / Programación C/C++ / Re: [C++]System()
|
en: 28 Agosto 2016, 22:48 pm
|
ruta_final es char[+. ¿Por qué no trabajas solo con string?
El problema es que estás haciendo char* + char[20] + char*. Si trabajas con string, será char* + string + char*, y eso será correcto. En C++, es preferible que trabajes siempre string (salvo casos particulares).
Vale, gracias, lo acabo de solucionar, suelo trabajar con strings, pero al ser una operacion de comparacion de letras preferia usar char. Ademas pensaba que char*+char+char* era mas copatible que char*+string+char* Dejo aqui la solucion por si alguien tiene el mismo problema #include <string> ruta_final[20]="C:\\Users\\user"; //Antes de esto havian varios bucles y operaciones por eso uso char y no strings string comando_ruta=ruta_final; string comando="cd "+comando_ruta+" && dir"; system(comando.c_str());
Y referente a la otra duda de usar una alternativa a system() conoces alguna otra opcion?? Gracias de nuevo
|
|
|
220
|
Programación / Programación C/C++ / Re: [C++]System()
|
en: 28 Agosto 2016, 22:25 pm
|
comando.c_str(). Es un método de clase.
Ui lo havia hecho asi, nose porque lo puse mal. Pero sige dando error porque no se puede declarar la string correctamente. string comando="cd "+ruta_final+" && dir"; //Genera error igualmente
Alguna idea??
|
|
|
|
|
|
|