/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

moverme por directorios

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 90

MensajePublicado: 08/09/2007 1:31 am
Título: moverme por directorios

Buenas.

Estoy buscando como hacer un programa que me haga un fichero en el directorio anterior al que esta ubicado el programa donde ponga los archivos que hay en ese directorio.

Mi idea era esta:

Código:
#include<stdlib.h>

int main(void)
{
  system("cd..");
  system("dir>archivo.txt");
  return 0;
}


Pero no funciona, ¿hay alguna alternativa?

Gracias!
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3657
Ubicación: Mexico

MensajePublicado: 08/09/2007 6:50 am
Título:

En lugar de tratar de utilizar primero el comando "cd .." utiliza directamente el indicador del directorio padre (el "..") en el comando dir:
Código:
system("dir ..>test.txt");


De todos modos si tienes que realizar cualquier proceso medianamente complicado lo mejor es utilizar el API del SO que este utilizando.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 90

MensajePublicado: 09/09/2007 4:00 am
Título:

¿Qué es el el API del SO?
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3657
Ubicación: Mexico

MensajePublicado: 09/09/2007 6:48 am
Título:

Es el conjunto de funciones que expone el sistema operativo y que permiten realizar todas las operaciones especificas de la plataforma que estemos utilizando, en el caso de MS Windows (Win32) una referencia en linea es MSDN.

Un ejemplo sencillo, antes de llamar a la funcion system podrias cambiar el directorio actual utilizando la funcion SetCurrentDirectory de esta forma:
Código:
#include <windows.h>
#include <stdlib.h>

int main(void)
{
   SetCurrentDirectory("..");
   system("dir");
   
   return EXIT_SUCCESS;
}



Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 90

MensajePublicado: 10/09/2007 7:49 am
Título:

Bueno, para no abrir otro post. Hago esta pregunta aquí. ¿Qué significa eso de EXIT_SUCCESS?

Te lo he visto poner en varios posts y bueno, en los manuales yo siempre he visto que se retorna con un 0. Eso de retornar con un 0 lo hago más que nada como una cosa automática pero quizá me vendría bien saber el porqué de eso y porque tu pones EXIT_SUCCESS.

Muchas gracias por todo rir3760.
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3657
Ubicación: Mexico

MensajePublicado: 10/09/2007 8:16 am
Título:

Para indicar que el programa termino con exito se debe retornar desde la funcion main (o desde cualquier otra con la funcion exit) el valor 0 o EXIT_SUCCESS (macro definida en stdio.h), yo prefiero EXIT_SUCCESS por ser mas explicito pero no hay ningun problema si tu quieres utilizar el valor 0, es cuestion de estilos (como el vaso medio lleno/vacio).

Y para indicar que el programa termino por algun error interno se debe retornar EXIT_FAILURE (macro tambien definida en stdio.h).

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com