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

 C Discussion :

Forcer l'affichage du texte en sortie


Sujet :

C

  1. #1
    Membre habitué Avatar de dafpp
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 345
    Points : 196
    Points
    196
    Par défaut Forcer l'affichage du texte en sortie
    Bonjour,
    j'ai fais un petit programme pour tenter d'animer des chiifres, donc j'ai mis plusieurs sortie de texte dans des boucles, et des retour en début de ligne pour changer les nombres qui sont apparu pour faire une 'ptite animation'.
    le problème c'est que tout s'affiche d'un coup, et il n'y a donc pas le résultat que je recherche, j'ai tenter de mettre des pause entre les affichages avec sleep, mais rien n'y fait.

    voilà mon code:
    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
    18
    19
    #include <complex.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #define MAX_I 10
     
    int main ()
    {
    	int i, j;
     
    	printf("debut\n");
     
    	for (j=0; j<10; printf("\r"), sleep(1), j++)
    		for (i=0; i<MAX_I; i++)
    			printf("%d", (j<<sizeof(int)*8-1)?i:MAX_I-i-1);
     
    	printf("\nfin\n");
    	exit(0);
    }
    merci d'avance
    "Les spécialistes commencent par n'apprendre que ce qu'ils aiment et finissent par n'aimer que ce qu'ils ont appris." - Gilbert Cesbron
    "Si nous avons chacun un objet et que nous les echangeons, nous avons chacun un objet. Si nous avons chacun une idée et que nous les échangeons, nous avons chacun deux idées." - Proverbe Chinois.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Meme si j'aime pas trop ce que tu fais : fonction dans le for, ton programme marche.

    Si rien ne s'affiche, essaie de faire un fflush(stdout); après le printf.

  3. #3
    Membre habitué Avatar de dafpp
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 345
    Points : 196
    Points
    196
    Par défaut
    j'ai fais la méthode de la fonction dans le for, mais ça marchait pas.

    ok je test ça

    merci

    edit: ça ne marche toujours pas.
    je sais pas si ça change quelque chose (je pense), mais je compile sous gcc.
    "Les spécialistes commencent par n'apprendre que ce qu'ils aiment et finissent par n'aimer que ce qu'ils ont appris." - Gilbert Cesbron
    "Si nous avons chacun un objet et que nous les echangeons, nous avons chacun un objet. Si nous avons chacun une idée et que nous les échangeons, nous avons chacun deux idées." - Proverbe Chinois.

  4. #4
    Membre éclairé
    Avatar de Kirilenko
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 234
    Points : 807
    Points
    807
    Par défaut
    Quel est ton OS ?
    Parce que je sais que Sleep() (avec une majuscule, même si ça ne semble pas être le cas ici) sous Windows attend un temps en millisecondes, tandis que le sleep() posix attend un temps en secondes.
    Récursivité en C : épidémie ou hérésie ?

    "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Citation Envoyé par dafpp Voir le message
    edit: ça ne marche toujours pas.
    je sais pas si ça change quelque chose (je pense), mais je compile sous gcc.
    Quel est le comportement de ton programme ?

    Perso,
    sous Windows :
    - la ligne change toute les secondes (avec Sleep(1000))

    sous Linux :
    - la ligne s'affiche au bout de 10sec et sort

    sous Linux avec fflush:
    - comme sous Windows.

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    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
    18
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #define MAX_I 10
     
    int main ()
    {
    	int i, j;
     
    	printf("debut\n");
     
    	for (j=0; j<10; printf("\r"), Sleep(1000), j++)
    		for (i=0; i<MAX_I; i++)
    			printf("%d", (j<<sizeof(int)*8-1)?i:MAX_I-i-1);
     
    	printf("\nfin\n");
    	exit(0);
    }
    Compilé avec CodeBlocks sous Windows XP.

    Les nombres 012346789 et 9876543210 s'affichent alternativement avec un délai d'une seconde. Ce n'est pas ce que tu voulais ?

    EDIT : ou alors tu voulais faire une seconde boucle comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i=0; i<MAX_I; Sleep(1000), i++)

  7. #7
    Membre habitué Avatar de dafpp
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 345
    Points : 196
    Points
    196
    Par défaut
    Merci, c'est bon c'etqit une erreur de ma part.
    merci a tous!
    "Les spécialistes commencent par n'apprendre que ce qu'ils aiment et finissent par n'aimer que ce qu'ils ont appris." - Gilbert Cesbron
    "Si nous avons chacun un objet et que nous les echangeons, nous avons chacun un objet. Si nous avons chacun une idée et que nous les échangeons, nous avons chacun deux idées." - Proverbe Chinois.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Renvoyer cellule vide ou forcer l'affichage de texte
    Par garulf0 dans le forum Excel
    Réponses: 6
    Dernier message: 22/07/2014, 15h30
  2. Forcer l'affichage d'un texte dans le menu
    Par Viper7 dans le forum WordPress
    Réponses: 1
    Dernier message: 22/04/2014, 15h40
  3. Forcer l'affichage d' un texte
    Par laclac dans le forum Débuter
    Réponses: 1
    Dernier message: 15/01/2008, 22h29
  4. Réponses: 6
    Dernier message: 15/11/2007, 12h31
  5. Forcer l'affichage des dizaines...
    Par pataluc dans le forum Langage
    Réponses: 4
    Dernier message: 26/11/2002, 19h38

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