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 :

faite une pause temporairement


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    S2S
    S2S est déconnecté
    Membre chevronné Avatar de S2S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 336
    Par défaut faite une pause temporairement
    lu,

    voila, j'ai besoin de faire une temporisation choisi (nombre x de second)
    dans un batch (MS-XP) mais wait n'existe plus sous cet OS

    moi pas peur , je cherche (longtemp) et je trouve que ca en 'C'...
    et que je n'arive pas a comprendre

    m'ettant lancer (avec difficulter) dans l'apprentissage du ++, je poste ici
    pour une aide a traduire ce que DEVRAIT faire ce code (s'il etait correct) en ++

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    main(int, char*sec[])
    {
    	sleep(sec[1]);
    }
    on ne rigole pas au fond, je vous ai vue
    ca ne compile pas; les pro que vous etes vont me dire normal
    mais c tout ce que j'ai trouver
    cet fonction est peu ou mal documente

    sur tout ce que j'ai lu 'sleep' est declarer dans <windows.h>
    de deboger me dit lui qu'il ne trouve pas la fonction sleep

    pour l'instant j'ai bidouiller ca pour faire la farce:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @echo off
    if 0%1==0 (
    	set /p dureT=entrer un temp en second
    	)else set dureT=%1
    set heurD=%time:~6,2%
    set /A heurF= %heurD% + %dureT%
    if %heurF% GTR 59 set /A heurF=%heurF%-59
    :DCOMPT
    set heurC=%time:~6,2%
    if not %heurC%==%heurF% goto DCOMPT
    mais c'est pas tres serieux

    je cheche donc a faire un exe que l'on appel (en ligne de commande sous winXP) de la facon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    c:\>wait xx 
    :: wait = nom du process  et xx = nombre de second
    a vot' bon coeur m'sieu / dame...une piste ou un debut de solution (mais en ++) siouplait...

  2. #2
    Membre expérimenté Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Par défaut
    Sleep a une majuscule!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    int main(int, char* sec[])
    {
    	Sleep(sec[1]);
    	return EXIT_SUCCESS;
    }

  3. #3
    S2S
    S2S est déconnecté
    Membre chevronné Avatar de S2S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 336
    Par défaut
    Citation Envoyé par Twindruff
    Sleep a une majuscule!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    int main(int, char* sec[])
    {
    	Sleep(sec[1]);
    	return EXIT_SUCCESS;
    }
    pfrouuuu!
    la quiche mais j'avait prevenu

    merci bien...je testerai ca.....apres Lyon/Marseille ..OM..the best...

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    sec[1] est une chaîne de catactères, il faudra aussi la convertir en entier (voir FAQ C++).

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    sleep() est une fonction POSIX (déclarée dans <unistd.h> dans les systèmes unixoïdes), qui prend un paramètre en secondes.
    Sleep() est une fonction Win32 (déclarée en incluant <windows.h>) qui prend un paramètre en millisecondes.

    Pour obtenir ce paramètre, il te faudra convertir le paramètre à l'index 1 (s'il existe : Vérifier l'argument de type int avant d'essayer). Pour cela, en C++ on utilise un std::istringstream.

    Au fait: En C++, on n'utilise généralement pas les headers C standard comme <stdio.h>. Si on a vraiment besoin des fonctions de stdio, il est conseillé d'inclure plutôt le header C++ standard <cstdio>...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    S2S
    S2S est déconnecté
    Membre chevronné Avatar de S2S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 336
    Par défaut
    ...Haaa! 2-1 pour marseille, bref, je reprend:

    Merci bien "medinoc" et "Twindruff",

    la sauce a l'air de prendre...Juste une erreur de conversion a la compilation, comme la souligner "Laurent Gomila", je regarderai dans la FAQ demain, il me semble avoir deja lu ca.

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    Citation Envoyé par Médinoc
    Pour obtenir ce paramètre, il te faudra convertir le paramètre à l'index 1 (s'il existe : Vérifier l'argument de type int avant d'essayer). Pour cela, en C++ on utilise un std::istringstream.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/03/2008, 21h16
  2. Creation d'une fonction temporaire avec droit datareader
    Par Bjuice2 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/10/2004, 14h26
  3. C++Builder fait une erreur de calcul
    Par gandf dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/01/2004, 22h27
  4. Marquer une pause dans une procédure stockée
    Par PéPénet dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2003, 10h42
  5. Programmer une pause brève
    Par NeoMan dans le forum Assembleur
    Réponses: 14
    Dernier message: 28/04/2003, 01h59

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