Comprobar carga de un archivo o carpeta (Si existe o no, o carga o no correctamente)

Hola, me gustaria lo del titulo, y esto no funciona, y huvo una vez que me funcionó, pero alreves...

pspDebugScreenInit();
   pspDebugScreenClear(); 
   pspDebugScreenPrintf("Procesando..."); /////////////////////////////////////A PONER!!!!!!!!!!!!!!!!!//////////////////////////  
   carpetaaborrar1 = sceIoRmdir("ms0:/mesa2");   
	   if (!carpetaaborrar1) 
			 {
				 //Fallo la carga de imagen//
	             pspDebugScreenPrintf("¡Error al eliminar la carpeta o archivo!\n");
				 sceKernelDelayThread(2*1000*1000);
				 pspDebugScreenPrintf("[No se encuentra disponible esa ruta]\n");
				 sceKernelDelayThread(2*1000*1000);
				 pspDebugScreenPrintf("Pulsa (X) para salir al XMB\n");	
                 sceKernelSleepThread();				 
				   if (currentPad.Buttons & PSP_CTRL_CROSS)				 
				   {
				   pspDebugScreenPrintf("Saliendo...");
			       sceKernelDelayThread(2*1000*1000);
			       sceKernelExitGame();
				   }
             }
 
	   else pspDebugScreenPrintf("Ruta o archivo CORRECTA\n");
	   {
       sceKernelDelayThread(2*1000*1000);	
	   pspDebugScreenPrintf("Procesado correctamente xD\n");    
	   sceKernelDelayThread(2*1000*1000);
	   pspDebugScreenPrintf("Pulsa (X) para salir al XMB\n");	   
	      if (currentPad.Buttons & PSP_CTRL_CROSS)				 
				   {
				   pspDebugScreenPrintf("Saliendo...");
			       sceKernelDelayThread(2*1000*1000);
			       sceKernelExitGame();
				   }
}
}

A ver si podeis ayudarme, quiero que me detecte si existe esa carpeta o archivo (en este caso carpeta, y que la efectue)

Salu2 y gracias si alguien sabe.

 

EDIT: PUES PARECE QUE ES ERROR DE LA INFO DE ESA PAGINA, porque con sceIoRemove(); si me va
de esa manera, asi que deduzco que no devuelve -1, porque con la otra
que devuelve >0 lo pongo y me va, quedaria esa parte asi:

porsierror = sceIoRemove("ms0:/arbolito.txt");
 
	   if (porsierror < 0) 
	    {
	             pspDebugScreenPrintf("¡Error al eliminar la carpeta o archivo!\n");
				 sceKernelDelayThread(2*1000*1000);
				 pspDebugScreenPrintf("[No se encuentra disponible ruta]\n");
				 sceKernelDelayThread(3*1000*1000);
				 pspDebugScreenPrintf("Saliendo...\n");
                 sceKernelDelayThread(2*1000*1000);
                 sceKernelExitGame();				 
        }
 
       else 
       {
 ...

Gracias pspgorrister [+75 SB]


:)


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de xenneco

No carga

Sabria alguien decirme porque falla este codigo:

Aqui todo lo del principio correcto...
.................................................
 
int porsierror
 
int main()
 
porsierror = sceIoRmdir("ms0:/mesa2");    
	   if (porsierror == -1) 
	    {
				 //Fallo la carga de imagen//
	             pspDebugScreenPrintf("¡Error al eliminar la carpeta o archivo!\n");
				 sceKernelDelayThread(2*1000*1000);
				 pspDebugScreenPrintf("[No se encuentra disponible ruta]\n");
				 sceKernelDelayThread(2*1000*1000);
				 pspDebugScreenPrintf("Pulsa (X) para salir al XMB\n");	
             }
 
          else 
	   {
	   pspDebugScreenPrintf("Ruta o archivo CORRECTA\n");
       sceKernelDelayThread(2*1000*1000);	
	   pspDebugScreenPrintf("Procesado correctamente xD\n");    
	   sceKernelDelayThread(2*1000*1000);
	   pspDebugScreenPrintf("Pulsa (X) para salir al XMB\n");
...

Por qué no me deja, estoy provando de varias formas, y me parece que
esa es la "Mejorcilla" xD, pero no sale, y la ruta no existe... Indeciso

Gracias.

Salu2.


:)

Imagen de pspgorrister

Salvando las llaves del main,

Salvando las llaves del main, que supongo que estarán sino no compila no veo el error, qué es exactamente lo que "falla"?

Imagen de xenneco

Pues

Pues me pone que la ruta es correcta, cuando en realidad no lo es (no existe).

Las { y } si estan...

Podrias ayudarme??

Imagen de pspgorrister

Yo no veo fallo, ese código

Yo no veo fallo, ese código debería funcionar

Imagen de xenneco

Sabes o sabe alguien donde

Sabes o sabe alguien donde esta el fallo.

Aqui lo pongo como lo tengo exactamente, siempre me pone que la ruta es correcta aunque no exista dicha carpeta.

Main.c :

#include <pspsdk.h>    
#include <pspkernel.h>
#include <psppower.h>
#include <pspctrl.h>
#include <pspdisplay.h>
#include <pspdebug.h>  
#include <png.h>
#include <pspgu.h> 
#include <framebuffer.h>
#include <pspiofilemgr.h>
#include "graphics.h"
 
 
PSP_MODULE_INFO("Helloword",0,1,0);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);
 
 
int porsierror;
 
int main()
{   
   pspDebugScreenInit();
   pspDebugScreenClear(); 
   pspDebugScreenPrintf("Procesando...\n");
   porsierror = sceIoRmdir("ms0:/mesa2");
 
	   if (porsierror == -1) 
	    {
	             pspDebugScreenPrintf("¡Error al eliminar la carpeta o archivo!\n");
				 sceKernelDelayThread(2*1000*1000);
				 pspDebugScreenPrintf("[No se encuentra disponible ruta]\n");
				 sceKernelDelayThread(3*1000*1000);
				 pspDebugScreenPrintf("Saliendo...\n");
                 sceKernelDelayThread(2*1000*1000);
                 sceKernelExitGame();				 
        }
 
       else 
	   {
	   pspDebugScreenPrintf("Ruta o archivo CORRECTA\n");
       sceKernelDelayThread(2*1000*1000);	
	   pspDebugScreenPrintf("Procesado correctamente xD\n");    
	   sceKernelDelayThread(3*1000*1000);
       pspDebugScreenPrintf("Saliendo...");
	   sceKernelDelayThread(2*1000*1000);
	   sceKernelExitGame();
       }
 
return 0;
}

Makefile :

TARGET = holamundomodmenu
 
OBJS = main.o graphics.o framebuffer.o
 
INCDIR =  
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
 
LIBDIR =
LDFLAGS =
LIBS = -lpspgu -lpng -lz -lm -lpspdisplay -lpspgum -lfreetype
 
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = C Rompepsp v0.721
PSP_EBOOT_ICON = ICON0.png
PSP_EBOOT_PIC1 = ICON1.png
PSP_EBOOT_SND0 = 
 
 
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

EDIT: PUES PARECE QUE ES ERROR DE LA INFO DE ESA PAGINA, porque con sceIoRemove(); si me va de esa manera, asi que deduzco que no devuelve -1, porque con la otra que devuelve >0 lo pongo y me va, quedaria esa parte asi:

porsierror = sceIoRemove("ms0:/arbolito.txt");
 
	   if (porsierror < 0) 
	    {
	             pspDebugScreenPrintf("¡Error al eliminar la carpeta o archivo!\n");
				 sceKernelDelayThread(2*1000*1000);
				 pspDebugScreenPrintf("[No se encuentra disponible ruta]\n");
				 sceKernelDelayThread(3*1000*1000);
				 pspDebugScreenPrintf("Saliendo...\n");
                 sceKernelDelayThread(2*1000*1000);
                 sceKernelExitGame();				 
        }
 
       else 
       {
 ...

Gracias pspgorrister [+75 SB]


:)

Imagen de xenneco

Nadie

Nadie sabe??? :(

Imagen de pspgorrister

Debes fijate en la

Debes fijate en la documentación de las funciones que uses. En http://psp.jim.sh/pspsdk-doc/group__FileIO.html se puede ver que sceIoRmdir devuelve -1 si ha habido algún error, comprueba mejor ese valor que haciendo una comprobación booleana.

 

PD: te gusta el sceKernelDelayThread, ¿verdad? xD

Un saludo.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.