SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: einsteincora en Jueves 22 de Enero de 2009, 13:09
-
Hola a todos, tengo un problema al tratar de usar la función system en un programa en c.
Lo que quiero es cambiar de directorio, pero no funciona. La llamada que hago es la siguiente:
system("cd C:\");
¿Alguién sabría por qué?
-
Para cambiar de unidad no se usa cd. Cosas de Microsoft.
Saludos
-
No, bueno, no es para cambiar de unidad si no para ir a la ruta C:, el programa que se ejecuta ya está en C:. Es decir, algo como:
system("cd c:\programas");
tampoco funciona
-
Hm, creo que no te funciona porque cd es un comando de la shell y no un ejecutable. ¿Cuál es tu objetivo al hacer esta llamada?
Además, ¿cómo sabes que no funciona? ¿Cómo lo ejecutas?
Salud
-
Lo que quiero es salir del directorio donde está el programa y crear una carpeta en otro sitio, para ir guardando archivos allí.
Ahora mismo estoy depurando con el Visual C++, así que al pasr por esa instrucción y luego hacer un dir, devería hacer el dir del nuevo directorio, pero lo hace del viejo, asi que supongo que no lo ha cambiado.
-
así que al pasr por esa instrucción y luego hacer un dir, devería hacer el dir del nuevo directorio, pero lo hace del viejo, asi que supongo que no lo ha cambiado.
Obvias que una cosa es el directorio de trabajo y otra el directorio de ejecución.
Lo que quiero es salir del directorio donde está el programa y crear una carpeta en otro sitio, para ir guardando archivos allí.
No necesitas cambiar de directorio para eso: mkdir() y después fopen() con la ruta que quieras.
Salud
-
Mire esta Funcion...
Puede que le sirva
SetCurrentDirectory() es una api de windows
http://msdn.microsoft.com/es-es/library/system.io.directory.setcurrentdirectory.aspx
Es muy sencilla de utilizar y realmente eficaz...
taluego.....
-
SetCurrentDirectory() es una api de windows
Si puedes evitar utilizar APIs y mantenerte estándar, mucho mejor. Utiliza las APIs sólo en caso de último recurso, porque quitan portabilidad al código.
Salud.
-
El problema que tengo con mkdir es que al poner system("mkdir C:archivos_nuevos"); me dice lo siguiente:
El nombre de archivo, directorio o etiqueta del volumen no es válido.
-
system("mkdir C:archivos_nuevos");
Me refiero a la funcion mkdir() de C, no al comando de la shell. ¿Has probado system("mkdir C:\archivos_nuevos");?
-
Ok, ahora si funciona!!. Muchas gracias!!!!
Un saludo!!