Langage C + SDL =>l'affichage est incorrecte!

Résolu
H.M -  
 H.M -
slt tt monde, voila j'ai 1 problème au niveau 2 ce code en C ...(pas d'erreur de compilation juste au niveau d'exécution... l'affichage est incorrecte!!!!!
a mon avis mon code est correcte mais le truc ce cache derrière une fonction soit C ou SDL)
sans trop parler ce que je veut faire afficher 1 fichier deja ouvert soit en "w" ou"r" sur 1 ecran a la fin il faut rendre le curseur a ca place

void afficher(FILE* f, SDL_Surface *ecran)//affich 1 fichier+int=>sur l'ecran
{
int pos_curseur;
SDL_Rect position;
char* ch;
SDL_Color couleur = {255, 255, 255};
SDL_Surface *texte=NULL;
TTF_Init();
TTF_Font* police;
police=TTF_OpenFont("bulle.ttf",15);

//le fichier est déjà ouvert
pos_curseur= ftell(f);
rewind(f);
fscanf(f,"%s",ch);//ou b1 fgets
fseek(f, pos_curseur, SEEK_SET);
//rendre le curseur a ca place

texte = TTF_RenderText_Blended(police, ch,couleur);
position.x = 1300/2 - texte->w/2;
//juste positionner texte
position.y = 700/2 - texte->h/2;
SDL_BlitSurface(texte, NULL, ecran, &position);
// Blit du texte par-dessus

TTF_CloseFont(police);
SDL_free(texte);
TTF_Quit();
SDL_Flip(ecran);
SDL_Delay(2000);
}

voila 1 main pour tester cette fonction écrit comme commentaire dessous ;)
mille merci pr tte vos réponse :)

1 réponse

  1. H.M
     
    //n'oublier pas d'ajouter tout vos .dll et les linker chemin project->build option->linker
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include <SDL/SDL_ttf.h>
    void afficher(FILE* f,SDL_Surface *ecran);

    int main(int argc, char *argv[])
    {
    FILE *f=NULL;
    SDL_Surface* ecran;
    SDL_Init(SDL_INIT_VIDEO);

    ecran=SDL_SetVideoMode(1300,700,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
    f=fopen("fichier.txt","w");
    fprintf(f,"0 1 2 3 4 5 6 7");
    fclose(f);

    f=fopen("fichier.txt","w");
    fscanf(f,"%d %d ");//le curseur est a la meme position que 2
    afficher(f,ecran);
    fclose(f);

    SDL_Quit();
    }
    0