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

Windows Discussion :

[DOS] Sprintf en C


Sujet :

Windows

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 94
    Points : 46
    Points
    46
    Par défaut [DOS] Sprintf en C
    Bonjour à toutes et à tous,
    voila je suis étudiant en info de gestion et je voulais faire un ptit prog en C sous dos pour eteindre mon pc dans X minutes, heures . . .
    Je l'ai compilé mais il semble y a voir une erreur et je ne la trouve pas (toute bête j'en suis sûr en plus !).

    Info : compilatuer utilisé : DMC (téléchargé ici)
    Erreur de compilation : 2 artual arguments expecte for sprintf, had 1 (je ne vois pas le 2e argument a mettre)

    Le code source :

    #include<stdio.h>

    main(){
    int h,min,sec;
    printf("Combien de d'heures ?");
    scanf("%d",&h);
    printf("Combien de minutes ?");
    scanf("%d",&min);
    sec=(h*3600)+(min*60);
    sprintf("shutdown -t 9000");

    }
    Voila, merci d'avance d'aider un petit nouveau dans ce vaste monde de la programmation !

    Titmael

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Points : 542
    Points
    542
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf("shutdown -t 9000");
    manque l'argument du buffer dans lequel le formatage doit être fait.

    sinon, pour simplement afficher c'est printf(), pas sprintf()...

  3. #3
    Membre éprouvé Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Points : 1 260
    Points
    1 260
    Par défaut
    DVP, une réponse en 15 minutes chrono !

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    Pardon j'ai pas affiché le bon :
    (sprintf en unix c'est pour executer une command comme en console, n'st ce pas pareil sous dos ?) :

    #include<stdio.h>

    main(){
    int h,min,sec;
    printf("Combien de d'heures ?");
    scanf("%d",&h);
    printf("Combien de minutes ?");
    scanf("%d",&min);
    sec=(h*3600)+(min*60);
    sprintf("shutdown -s -t %d",sec);

    }
    et en mettant ca il me dit :
    Need explicit cast for function parameter 2 to get :
    from: int
    to: char const *

  5. #5
    Membre éprouvé Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Points : 1 260
    Points
    1 260
    Par défaut
    Citation Envoyé par titmael
    Pardon j'ai pas affiché le bon :
    (sprintf en unix c'est pour executer une command comme en console, n'st ce pas pareil sous dos ?) :
    Non, en C (et peu importe la plateforme), sprintf sert à afficher du texte dans une variable (cf. sa page man).

    Si tu veux exécuter ta commande, utilise plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char commande[50];
    snprintf(commande, 50, "shutdown -s -t %d", sec);
    system(commande);

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    je viens de tester ta solution mais lors de la compilation il me met :

    Symbol Undefined _snprintf

  7. #7
    Membre éprouvé Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Points : 1 260
    Points
    1 260
    Par défaut
    Ah oui, essaie comme ça alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char commande[50];
    sprintf(commande, "shutdown -s -t %d", sec);
    system(commande);

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii !

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

Discussions similaires

  1. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38
  2. Sac à dos
    Par JeanRaviol dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 21/11/2002, 11h18
  3. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2002, 13h34
  4. Masquer le curseur en mode MS-DOS
    Par Alex120 dans le forum C
    Réponses: 2
    Dernier message: 10/07/2002, 09h30
  5. Format d'un exe pour DOS et pour Windows
    Par Alfhiger dans le forum Assembleur
    Réponses: 4
    Dernier message: 12/06/2002, 11h57

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