fprintf() -> explication SVP (ça commence xD)

Le tutoriel en ligne vous pose quelques problèmes ? C'est ici pour en parler !

fprintf() -> explication SVP (ça commence xD)

Messagede CubicReg le 27 Avr 2005 17:08

Lu ! J'ai enfin réussi à faire bouffer la lib au compilo :banghead: .
Dans le deuxième tuto, il y a une fonction que je connais pas en C++ :
fprintf();
c'est quoi la différence entre cette fontion et printf ? J'ai aussi remarqué un petit "stderr" à l'intérieur des parenthèses... bon je ferais mieux de le taper direct :
fprintf(stderr, "Echec d'initialisation de SDL.\n");
-> c'est censé remplacer SDL_GetError() ?

Je peux parraître chiant, mais j'aime pas faire exécuter quelque chose que je comprends pas :)
CubicReg
 

fprintf

Messagede YuGiOhJCJ le 27 Avr 2005 20:54

Salut, je crois que la différence entre printf et fprintf et que fprintf écrit dans un fichier l'erreur alors que printf l'écrit dans la fenêtre.
stderr c'est le nom du fichier dans lequel l'erreur va être écrite.
Mais attendons qu'une personne possédant plus de connaissance à ce sujet te réponde pour être sur. :oops: J'ai peur de ne pas avoir totalement raison.
[yugiohjcj.free.fr]
Yu-Gi-Oh! Jeu de Cartes à Jouer
Avatar de l’utilisateur
YuGiOhJCJ
Bébé Chocobo
Bébé Chocobo
 
Messages: 121
Inscription: 22 Fév 2005 21:58
Localisation: Devant mon ordinateur en train de développer

Messagede moi1392 le 27 Avr 2005 21:41

c'est exactement ça YuGiOhJCJ :)
Avec fprinf, tu écrit dans un fichier, en l'occurence "stderr" (c'est l'equivalent de std::cerr si tu connais mieux...)
alors que prinf écrit dans la sortie standart, cela équivaut à fprintf(stdout, ...) ou à std::cout
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

Messagede CubicReg le 28 Avr 2005 07:09

OK merci !
"c'est l'equivalent de std::cerr si tu connais mieux..." > non lol je connais pas, pour l'instant j'ai juste fait de la lecture, sans rien écrire :D
CubicReg
 

Messagede moi1392 le 28 Avr 2005 11:16

c'est parce que tu m'as dit que tu étais plus C++ que C...

En C++, c'est comme ça que j'aurais fait :

Code: Tout sélectionner
#include <iostream>

...
...

std::cerr <<  "Echec d'initialisation de SDL.\n";

...
...


petit rappel : bien qu'a première vue, la sortie standard et la sortie d'erreur paraissent la même (toute les deux écrivent à l'écran dans une console) ce ne sont pas les même, car tu peut rediriger la sortie standard dans un fichier, la sortie d'erreur s'affichera toujours à l'écran !! et vice versa :oui:

en fait, le descripteur de fichier de la sortie standard, c'est 1 et celui de la sortie d'erreur, c'est 2.
Donc si tu es sous linux (je ne sais pas comment ça marche sous windoze.. désolé :() tu peux faire :

Code: Tout sélectionner
$ ./MonProg 1>std.txt 2>err.txt


Si tu lances ton programme comme ça, la sortie standard sera copié dans le fichier std.txt et celle d'erreur dans err.txt :oui: et le programme n'écrira rien à l'écran :oui:
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

Messagede CubicReg le 28 Avr 2005 12:05

Je vais continuer sur stderr, historie de me familiariser avec ; et puis j'ai beaucoup moins souvent vu cerr d'utilisé.
Sinon je préfère l'affichage sur écran, on contrôle la chose en temps réel :)
CubicReg
 

Messagede moi1392 le 28 Avr 2005 12:32

c'est sympa des fois de rediriger dans un fichier quand ton programme (ou celui d'un autre) fait beaucoup de sorties... par exemple, quand je lance wine en mode debug, j'obtient facile 10 ko en sortie, alors je le met dans un fichier pour pouvoir le relire tranquilement après...

Et puis, quand tu est en plein écran.. tu ne vois pas ta console...
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam

Messagede CubicReg le 28 Avr 2005 12:37

Arf, je pourrais réfléchir quand j'aurai goûté à un bon nombre de fonctions de la SDL ! J'avais pas pensé au mode plein écran :goutter:
CubicReg
 

Fullscreen

Messagede YuGiOhJCJ le 30 Avr 2005 07:02

en parlant de ça...Comment on fait le plein écran en SDL? C'est difficile?
[yugiohjcj.free.fr]
Yu-Gi-Oh! Jeu de Cartes à Jouer
Avatar de l’utilisateur
YuGiOhJCJ
Bébé Chocobo
Bébé Chocobo
 
Messages: 121
Inscription: 22 Fév 2005 21:58
Localisation: Devant mon ordinateur en train de développer

Messagede moi1392 le 30 Avr 2005 11:58

SDL_SetVideoMode(xxx, yyy, zzz, ttt | SDL_FULLSCREEN);

avec xxx, yyy, zzz, ttt les paramètres que tu met d'habitude :)

tu vois, c'est hyper facile !! tu peux même ajouter une option sur le ligne de commande de ton pregramme pour passer en full screen ou non :)

SDL, c'est encore plus facile que la barre de fer !!!! :D :D :D
Avatar de l’utilisateur
moi1392
Chocobo des mers profondes
Chocobo des mers profondes
 
Messages: 3986
Inscription: 27 Juin 2004 12:03
Localisation: chez wam


Retourner vers Besoin d'aide en SDL ?

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron