Posté le 25/05/2016 01:25
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 91 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 25/05/2016 01:57 | #
Bonjour,
que rentres-tu exactement comme nom d'OS ?
(EDIT: oui, comme je suis très observateur, je n'avais pas vu la pièce jointe. Je prends mon "Gros malin" et je m'en vais loin)
Mon blog ⋅ Mes autres projets
Citer : Posté le 25/05/2016 08:33 | #
Essaie de lancer le soft en mode compatibilité Windows XP, mais c'est franchement bizarre.
Citer : Posté le 27/05/2016 21:42 | #
Solution rapide : renommer ton fichier pour qu'il ne contienne plus d'espaces. Fais de même pour tous les autres fichiers.
Gros malins. C'est l'effet du buffer. Darks, t'as pas honte d'avoir codé un soft aussi buggé et de ne même pas voir l'erreur ? x)
Je vais expliquer rapidement le fonctionnement du buffer. Lorsque le programme demande à l'utilisateur de taper quelque chose, le système va d'abord voir s'il n'y avait pas du texte que l'utilisateur aurait rentré plus tôt, mais qui n'aurait pas encore été utilisé. S'il y en a, il l'utilise sans rien demander à l'utilisateur. Sinon, il lui demande d'entrer du texte et le laisse saisir au clavier.
Lorsque le programme t'a demandé le nom du fichier d'OS, il n'y avait rien à récupérer puisque tu n'avais encore rien tapé. Le système t'as donc proposé d'entrer du texte. Il a reçu "mon backup casio.fls", et il l'a stocké quelque part. Il a ensuite signalé à BmpInjector que les données avaient été fournies. Le programme a donc été lire ce que tu as écrit... mais il s'est arrêté avant la fin, au premier espace en fait. Le nom d'OS lu s'est arrêté à « nom ».
C'est un comportement qui peut sembler bizarre, mais c'est probablement la faute de Darks, qui a codé le soft. Hein, Darks ? Faut utiliser fgets() ou un scanf() un peu plus puissant.
Du coup, il est resté « backup casio.fls » inutilisé. Et lorsque BmpInjector a voulu lire le nom du fichier bitmap, il y avait des données disponibles. Il a alors reçu « backup » sans que tu puisses entrer quoi que ce soit. Et ça s'est reproduit ! Le nom du fichier sortant s'est retrouvé « casio.fls ».
Et enfin, lorsque BmpInjector a voulu que tu lui indiques un type d'injection, le buffer s'est retrouvé vide, donc le système t'a de nouveau demandé de taper du texte.
En fait, tout le problème vient du fait que BmpInjector s'arrêtera toujours dès qu'il croisera un espace. Pour résoudre ce problème, il faut donc que tu utilises des fichiers dont les noms ne comportent pas d'espace
Citer : Posté le 27/05/2016 23:16 | #
Mon scanf marche très bien comme ça, je vais pas me faire chier à modifier le soft juste parce que monsieur a décidé d'utiliser des espaces dans le nom de ses fichiers.
Arrive un moment où les emmerdes de Windows, je leur chie dessus.
Citer : Posté le 28/05/2016 13:56 | #
Hmm, désolé : ne le prends pas mal. Cela dit, ça fonctionnerait mal sous Linux également.