Spipu Le 24/09/2007 à 20:28 Bon, c'est du C pour la PSP, mais au cas ou, je pose ma question ici...
mon pb est simple : j'essaye d'acceder à un fichier pour ecrire dedant, et ca me plante net ma psp.
le code est le suivant :
#include <pspkernel.h>
#include <stdio.h>
PSP_MODULE_INFO("test", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER);
void debug(char* txt, bool erase = false)
{
FILE *file;
if (erase) file = fopen("./debug.txt", "w");
else file = fopen("./debug.txt", "a");
fputs(txt, file);
fputs("\n", file);
fclose(file);
}
int main(int argc, char* argv[])
{
debug("Ouverture du fichier", true);
debug("Fermeture du fichier");
// fin du jeu
sceKernelExitGame();
return 0;
}
dès que je fais un fopen, ca me retourne 0 => du coup le fputs et le fclose font planter la psp
le fait que fputs et fclose fassent planter si file est null, c'est normal.
mais que fopen refuse de m'ouvrir le fichier, et de me retourner un pointer de type FILE, ca je ne le comprends pas...
quelqu'un aurait une idée ?
kim Le 24/09/2007 à 21:25 1/ en C ANSI en tout cas, pas de valeurs par défaut si je me souviens bien.
2/ Et pourquoi pas faire un printf du path courant ?
Tu as essayé de regarder voir si sur ce path, ton exe a les droits d'écriture ?

Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi
true et false n'existent pas non plus en C ISO (sauf en C99 si tu inclus <stdbool.h>).
Ton code est du C++ sans objets en fait.
Spipu Le 24/09/2007 à 22:03 vi tout à fait, c'est du C++
Essaie de faire fopen("debug.txt","w") sans le ./.
Spipu Le 25/09/2007 à 10:27 comme tu dis... ca fait depuis 3 semaines que cette connerie me bloquait, sauf qu'avant que je me rende compte d'ou venait le pb.. Car au départ, logique comme je suis, c'était en voulant charger une texture que ca plantait, et j'étais sur de mon fopen => je pensais que le pb venait d'ailleurs et je testais tout sauf lui... jusqu'à me rendre compte de mon erreur...
Pense quand meme a ajouter des tests sur la valeur de file, ça evitera les crashs ^^

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Non tu es obligé de passer par new et delete, il ne faut pas appeler les constructeurs/destructeurs explicitement.

Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?