IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

remplissage d'un fichier txt


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2019
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 72
    Par défaut remplissage d'un fichier txt
    Bonjour,
    J'ai un petit soucis pour écrire dans un fichier txt avec la sdl.
    Je souhaite faire un fichier dans lequel est inscrit tous les éléments chargés pour mon jeu : Windows, Renderer, police, musique, liste des images, ...
    Cela devrait donner :
    Ouverture du fichier : fichierErreur.txt
    Chargement des windows, renderer, sdl, ttf,... : en cours.
    Chargement de SDL_Init (video et audio) : OK.
    Chargement de Window et Renderer : OK.
    Chargement de TTF_Init : OK.
    Ouverture de la musique : OK.
    Initialisation SDL : OK
    Chargement des polices : en attente
    Chargement de la police : OK.
    Chargement des images : en attente
    Chargement de l'image Image1.bmp : OK
    Chargement de l'image Image2.bmp : OK
    [...]
    Nombre d'images correctement chargées : 11
    Pour cela, j'ai déclaré un fichier "fichierErreur.txt" en variable globale ainsi qu'une structure contenant mes images et textes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #define NbImagesMax 11 
    #define NbImagesPionMax 24 
    #define NbMessagesMax 15 
    #define NbMessagesBoutonMax 36
     
    typedef struct Images Images;
    struct Images
    {
        SDL_Texture *Image[NbImagesMax];//tableau de NbImagesMax images
        SDL_Texture *Pion[NbImagesPionMax];//tableau de tous les pions
        SDL_Texture *Message[NbMessagesMax];//tableau de NbMessagesMax messages
        SDL_Texture *MessageBouton[NbMessagesBoutonMax];//tableau de NbMessagesMax messages
        SDL_Rect DimensionImage[NbImagesMax]; //pour chaque image, dimensionner w et h
        SDL_Rect DimensionPion[NbImagesPionMax];
        SDL_Rect DimensionMessage[NbMessagesMax]; //pour chaque texte, dimensionner w et h
        SDL_Rect DimensionMessageBouton[NbMessagesBoutonMax]; //pour chaque texte, dimensionner w et h
    };
    J'ai des fonctions qui chargent les images et les textes.
    J'obtiens comme résultat dans mon fichier "fichierErreur.txt": la liste des chargement (sdl, ttf, ...)+Tous les Image +Tous les Pion + Tous les Message + la moitie des MessageBouton.
    Si j'intervertis le chargement des Message et des MessageBouton, alors j'obtiens la totalité des MessageBouton et la moitie des Message.
    Comme si j'étais limité dans le nombre de caractères à écrire dans le "fichierErreur.txt".
    Cette limite existe-t-elle ? Là, je bloque à environ 4000 caractères (4008 dans une version, 4018 dans une autre).

    Ce que je trouve normal, c'est que si je ne charge pas Image , alors j'ai la liste totale de Pion + Message + MessageBouton.
    Ce qui m'étonne, c'est que si je charge Image mais pas Pion, alors mon fichier est absolument vide, même pas "sdl, ttf, ... bien chargé".

    Avez vous une explication ?
    Merci à tous ceux qui feront l'effort de me lire et de m'aider.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Le meilleur ami du programmeur, c'est le débogueur. Je vous conseille d'y jeter un coup d'œil : https://alexandre-laurent.developpez...e-application/.

    Sinon, là où je regarderai : les index de vos tableaux, la fonction d'écriture dans le fichier.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2019
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 72
    Par défaut
    Merci de ta réponse.
    J'utilise Codeblock.
    Or je n'ai aucun message d'alerte dans le compilateur.
    De plus, même si mon fichier affiche que je n'ai chargé les images de que 1 jusqu'à 30 (sur les 50 possibles), j'arrive quand même a afficher les 50 images en question.

    Les dernières lignes du mon fichier sont :
    "
    Chargement du texte " C ": OK
    Chargement du texte " oudPouS ": OK
    Chargement du t
    "
    La dernière ligne semble coupée en plein milieu.

    Si j'utilise deux fichiers, un pour les images, et l'autre pour les textes, j'ai toutes mes lignes souhaitées incrites.

    Je ne sais pas où passe ce texte non écrit dans le fichier.

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    Citation Envoyé par chamludo Voir le message
    Merci de ta réponse.
    De plus, même si mon fichier affiche que je n'ai chargé les images de que 1 jusqu'à 30 (sur les 50 possibles), j'arrive quand même a afficher les 50 images en question.
    Comment pouvez-vous charger 30 images alors que ce nombre est limité à 11 ? Si je lis bien le code donné précédemment....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SDL_Texture *Image[NbImagesMax];
    Si vous voulez de la souplesse alors il faut utiliser des listes chaînées d'images ou mieux des conteneurs C++ comme std::list, std::vector.

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2019
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 72
    Par défaut
    Je me suis peut être mal exprimé avec les 30 et 50 images.
    C'était jute pour prendre un exemple.
    De plus, ma structure de Image est composée de 4 types d'images/textures : les 11 images (pour les décors, ... ), les 24 pions (pour les joueurs), les 15 messages (texte pour les décor, l'aide, ... ) et les 36 messagesBouton (pour avoir des textes des boutions).
    Cela me fait un total de 11+24+15+36 = 85 images
    J'arrive à afficher les 85 images sur ma fenêtre, mais je n'ai pas les 85 lignes dans le fichier.txt, je n'en ai que 60 (environ).
    C'set à dire que mes textures sont bien initialisées mais que je fichier ne se remplit pas entièrement

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 539
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 539
    Par défaut
    bonsoir une question : le fichier texte est il ouvert en mode "a+t" ? C'est-à-dire en mode append et texte ?
    Un peu plus de code ça serait mieux car là on n'a pas assez de code pour voir ce qui ne fonctionne pas.

Discussions similaires

  1. [SQLServer]Script import fichier .txt
    Par Jenbi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/08/2006, 16h49
  2. remplir des tables a partir de fichiers TXT
    Par jeremie dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 10/03/2004, 14h50
  3. ouverture de fichier txt
    Par juguul dans le forum MFC
    Réponses: 11
    Dernier message: 18/12/2003, 09h44
  4. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 11h08
  5. communication fichier binaire fichier txt
    Par micdie dans le forum C
    Réponses: 3
    Dernier message: 05/12/2002, 00h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo