Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14
  1. #11
    Originariamente inviato da MItaly
    Più semplicemente:
    codice:
    #include <stdio.h>
    
    int main()
    {
        char c;
        do
        {
             printf("se inserisci y bene sennò muore tutto xD \n");
        } while (getch()=='y');
        puts("Premere un tasto per uscire...");
        getch(); /* evita la system() come la peste */
        return 0;
    }
    .
    /* evita la system() come la peste */...perchè?per la portabilità verso sistemi operativi diversi da win?
    Guitar Pub, il sito dedicato al mondo della chitarra e dei chitarristi.

    Il mio Spazio

  2. #12
    Per questioni di portabilità non solo verso sistemi diversi da Windows ma anche tra versioni di Windows differenti; per questioni di performance, perché ogni chiamata alla system() crea un nuovo processo dell'interprete dei comandi; per questioni di comodità, perché spesso la costruzione della linea di comando richiede chiamate a sprintf che non servirebbero usando funzioni "normali" e perché la system non ti dà alcun feedback sul risultato dell'operazione; per questioni di chiarezza, perché le chiamate alla system() tendono a diventare dei mostri illeggibili; per questione di comodità dell'utente, che si può vedere degli avvisi del firewall o di altre applicazioni di sicurezza che lo avvertono che il tuo programma ne sta lanciando un altro (cmd.exe o command.com su Windows).
    Anche se la maggior parte di queste considerazioni non si applica per una semplice system("pause");, resta il fatto che il linguaggio ci fornisce già i mezzi per ottenere lo stesso effetto senza richiamare eseguibili esterni, e che è consigliabile (per le ragioni esposte prima) abituarsi a non usare la system().
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #13
    Si può proporre di togliere system dallo standard ?
    Non ha veramente niente a che fare col C.


  4. #14
    Originariamente inviato da menphisx
    Si può proporre di togliere system dallo standard ?
    Eh, magari...
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.