Sábado 14 de Diciembre de 2024, 13:36
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Manejo de archivos
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Manejo de archivos (Leído 2086 veces)
alex1510
Miembro activo
Mensajes: 35
Manejo de archivos
«
en:
Martes 10 de Noviembre de 2009, 17:45 »
0
Hola buenas. He conseguido una función que me dice cual es la fecha de modificación de un archivo. Lo que no consigo es, en un conjunto de archivos de una carpeta, todos ellos con la misma extensión y con diferente nombre, quedarme con el ultimo modificado. Sabría alguien decirme algo?? Muchas gracias.
El codigo para el ultimo modificado es:
Código: C
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <sys/types.h>
#include <sys/stat.h>
main
(
)
{
char
file
[
]
=
"C:/Users/Alex/Desktop/ArchivosC/pepe.txt"
;
char
t
[
100
]
=
""
;
struct
stat b
;
if
(
!
stat
(
file
,
&
b
)
)
{
strftime
(
t
,
100
,
"%d/%m/%Y %H:%M:%S"
,
localtime
(
&
b.
st_mtime
)
)
;
printf
(
"nLast modified date and time = %sn"
,
t
)
;
}
else
{
printf
(
"Cannot display the time.n"
)
;
}
getch
(
)
;
}
Tweet
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Manejo de archivos
«
Respuesta #1 en:
Martes 10 de Noviembre de 2009, 21:40 »
0
Tenes que enumerar los archivos ... en Windows tenes FindFirstFile y FindNextFile para eso.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
alex1510
Miembro activo
Mensajes: 35
Re: Manejo de archivos
«
Respuesta #2 en:
Martes 10 de Noviembre de 2009, 22:59 »
0
Ok. Sirve de ayuda, pero si quiero solo los que tienen extension .plf me pierdo, además los tendría que recorrer y no se me ocurre la forma.
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Manejo de archivos
«
Respuesta #3 en:
Miércoles 11 de Noviembre de 2009, 00:08 »
0
Se puede buscar con *.plf, fijate en la
MSDN
hay ejemplos.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
alex1510
Miembro activo
Mensajes: 35
Re: Manejo de archivos
«
Respuesta #4 en:
Domingo 15 de Noviembre de 2009, 15:51 »
0
No lo consigo hacer. Por favor, alguien me puede prestar algo de ayuda??Se que van encaminado a lo que dice Eternal, pero no consigo avanzar. No se que mas debo hacer. Gracias
alex1510
Miembro activo
Mensajes: 35
Re: Manejo de archivos
«
Respuesta #5 en:
Domingo 15 de Noviembre de 2009, 19:17 »
0
Hola buenas. Ya he conseguido hacerlo (creo). Adjunto el código. Me queda una duda que no consigo resolver y espero conozcan. Las funciones find first file y find next file te muestran los archivos por que orden??? ultima modificación???.Gracias. Tampoco se para que sirve dwerror y getlasterror.
Código: C
#include <windows.h>
#include <stdio.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <dirent.h>
#include <unistd.h>
main
(
)
{
DWORD dwError
=
ERROR_SUCCESS
;
HANDLE hFind
;
WIN32_FIND_DATA FindFileData
;
//Find last modified log file
hFind
=
FindFirstFile
(
"B:/EN6/*.plf"
,
&
FindFileData
)
;
if
(
hFind
==
INVALID_HANDLE_VALUE
)
{
printf
(
"Fallo encontrar el primer archivo (%d)n"
,
GetLastError
(
)
)
;
return
;
}
else
{
printf
(
"El primer archivo encontrado es %sn"
,
FindFileData.
cFileName
)
;
//List all the other files in the directory.
while
(
FindNextFile
(
hFind
,
&
FindFileData
)
!=
0
)
{
printf
(
"Siguiente es %sn"
,
FindFileData.
cFileName
)
;
//NOT DISPLAYING ALL NAMES CONSISTENTLY??
}
dwError
=
GetLastError
(
)
;
FindClose
(
hFind
)
;
if
(
dwError
!=
ERROR_NO_MORE_FILES
)
{
printf
(
"FindNextFile error. Error is %u.n"
,
dwError
)
;
return
(
-
1
)
;
}
}
getchar
(
)
;
}
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Manejo de archivos