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 :)

A voir également:

1 réponse

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