RECYCLERAhora bien, si ejecuto este comando desde C con la funcion system, el resultado es el siguiente:
Rocky.Balboa
System Volume Information
RECYCLERO sea, me deja utilizar nada mas que 8 caracteres para el nombre y tres para la extension. Como puedo hacer para lanzar el comando y que cree el archivo como lo puedo hacer desde fuera de C?
ROCKY~1.BAL
SYSTEM~1
Si queres recurrir a soluciones propias adelante.mi idea es hacer el codigo mas portable, porque si lo quiero compilar para ejecutar en linux solo tengo que cambiar una linea en lugar del 90% del codigo, pero me tope con este inconveniente.
mi idea es hacer el codigo mas portable, porque si lo quiero compilar para ejecutar en linux solo tengo que cambiar una linea en lugar del 90% del codigo, pero me tope con este inconveniente.Esta bien, podes tomar ese camino pero a simple vista para mi es lo que en España denominan chapuza, estar llamando a un comando para grabar en un archivo, despues procesar ese archivo y finalmente tener que borrarlo, todo eso para leer unos subdirectorios ... incluso no se cuan portable sera ya que dudo que dir y ls devuelvan el mismo formato y sean llamados con los mismos parametros.
tenes razon, es mejor perder mas tiempo programando para obtener un mejor rendimiento.No solo hay que tener en cuenta el rendimiento sino tambien la complejidad, de esa manera estas haciendo que la obtencion de unos subdirectorios implique una llamada para ejecutar un comando del sistema, que acarrea la creacion de un archivo, su lectura (con su correspondiente proceso) y su posterior borrado. Desde mi punto de vista son demasiados pasos para algo que deberia ser mucho mas simple.
Muchas Gracias por la recomendacion.
Invalid File Handle. GetLastError reports 2
Muchas Gracias. Me surgio una duda. Cuando programas usando la API, como haces para conocer los campos de las estructuras?, en el MSDN esta, pero el ide que usas tiene intellisense?Yo uso Visual Studio .NET 2003/2005 y si tienen Intellisense que es de gran ayuda cuando YA conoces los campos de una estructura o al menos el que estas buscando. Pero no sirve para conocer el campo en si mismo ya que no posee la descripcion detallada que provee la MSDN. En sintesis es una ayuda para la escritura del codigo en si misma pero no para la comprension de una estructura.
si programás bajo consola tb podes usar las siguiente funciones que son compatibles con DOS y creo que con UNIX tb...Esta muy bien que quieras colaborar pero mejor espera a que haya una pregunta donde puedas responder y no este ya resuelta:
me refería a la consola de windows... :hola:Entonces fue tu error el mencionar a DOS. Igualmente opendir no es una funcion de Windows ni es una funcion standard de C.
opendir está definida en la librería "dirent.h" y según mi archivo de ayuda de librerías estándares de la GNU, es standart... :kicking:http://en.wikipedia.org/wiki/Dirent.h (http://en.wikipedia.org/wiki/Dirent.h)
bueno... en el archivo de que tengo lo toma directamente como standart... capaz les faltó ponerle el "Pseudo"...El archivo que tenes puede decir lo que quiera y no aparece en la MSDN por lo que te dije antes: NO ES STANDARD DE C. Esa es la razon por la cual VC++ no soporta esas funciones y ni siquiera tiene el dirent.h en sus includes.
2º es obvio que si funciona en consola funciona en el modo GUI, pero no es del grupo de las funciones que windows define para trabajar en el modo GUI, es más en el MSDN no aparece... va... el que yo tengo por lo menos no...
Si es tan obvio entonces no se para que empezaste tu respuesta asi:
si programás bajo consola tb podes usar las siguiente funciones que son compatibles con DOS y creo que con UNIX tb...