Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [c/c++] accettare argomenti di una funzione con la PIPE |

    ragazzi ho visto che (per esempio la open) si possono passare diverse opzioni all'apertura di un file seperando i vari FLAG con |

    open("/etc/protocols", O_RDONLY|O_CLOEXEC)

    mi spiegate come si implementa una funzione del genere? (per gestire le varie opzioni passate?)

    oppure se ci sono metodi migliori per gestire funzioni che possono accettare come paramtri molte variabili di "settaggio"? grzie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per darti una risposta basta che pensi al significato di |
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Originariamente inviato da oregon
    Per darti una risposta basta che pensi al significato di |
    operatore bitwise or...

    ma non ancora non ci arrivo all'implementazione



    l'unica cosa che posso pensare è che la funzione abbia una variabile di modalità binaria settata per esempio con tutti 0 cosi
    000000

    dove ogni zero corrisponde ad un flag, cosi se nella terza posizione viene messo un 1 allora significa che la modalità corrispondente alla terza posizione deve essere attivata..


    le variabili passate alla funzione devono essere binarie con un solo 1 nella posizine giusta..

    cosi per esempio per attivare il terzo flag bisogna passare la variabile binaria "100"

    però mi sembra una cosa troppo laboriosa oO

    ogni volta bisognrebbe gestire tutti i vari shift della variabile per prendere i settaggi dei vari flag e inoltre bisgona creare delle costanti per avere il valore binario corrispondente..

    cioè è un macello... non ci sono metodi più veloci per gestire fuznioni con molti argomenti?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da xnavigator
    operatore bitwise or...
    E non pipe (la shell del so non c'entra ...)

    ma non ancora non ci arrivo all'implementazione
    Non hai nozioni di algebra booleana (lo dico sempre che la teoria è fondamentale ...)

    però mi sembra una cosa troppo laboriosa
    E perchè mai?

    ogni volta bisognrebbe gestire tutti i vari shift della variabile per prendere i settaggi dei vari flag
    No ... esiste l'operatore bitwise and ( & ) per questo ... vedi sempre algebra booleana ...

    e inoltre bisgona creare delle costanti per avere il valore binario corrispondente..
    che esistono ...

    cioè è un macello... non ci sono metodi più veloci per gestire fuznioni con molti argomenti?
    No ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da xnavigator

    però mi sembra una cosa troppo laboriosa oO
    guarda che son cose che si fanno normalmente anche in php:
    http://it.php.net/manual/en/function...-reporting.php
    Codice PHP:
    error_reporting(E_ERROR E_WARNING E_PARSE E_NOTICE); 
    mica eri un programmatore php tu?
    http://it.php.net/manual/en/language...rs.bitwise.php
    ;-)

  6. #6
    Originariamente inviato da MacApp
    guarda che son cose che si fanno normalmente anche in php:

    infatti non ho detto che non sapevo utilizzarle... volevo solo sapere come avrei dovuto implementarle

    e inoltre bisgona creare delle costanti per avere il valore binario corrispondente..

    che esistono ...
    che esistono in che senso?
    le devo creare io ad hoc se le voglio utilizzare in una mia funzione

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da xnavigator
    le devo creare io ad hoc se le voglio utilizzare in una mia funzione
    Certo ... per una tua funzione, sicuramente ...

    Volevo solo dire che le costanti da utilizzarsi per molte funzioni che lavorano in questo modo, sono tutte valorizzate nei file include ... in windows.h (ma anche in altri header) ne trovi tantissime ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.