Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Ma quale C++! exec() e` un`altra system call..

    DaUlisse.. come devo dirtelo di scrivere che cacchio di errore ti da`?

  2. #12
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    52
    ahh... mi da Lvalue required !!!!:bubu:

    e... cosa fa la exec()

  3. #13
    con exec* si intende tutta la famiglia delle exec(execl execlp ecc..)
    comunque Lvalue significa che si aspetta un valore, forse
    perche stdout e definito come costante ed e' uguale a 1? mentre stdin
    e' uguale a 0 e stderr e' uguale a 2!, ma forse ho invertito le prime due...

  4. #14
    DaUlisse, per favore, puoi postare il codice esattamente come l`hai scritto tu?

    Si` kentaromiura, pero` stdin, stdout e stderr e` meglio dire che "corrispondono" ai descrittori 0, 1, 2. D`altra parte sono strutture FILE*, non descrittori, come saprai.

    Questo vale di sicuro per sistemi UNIX, in Windows invece non so bene come stiano le cose. :master:

  5. #15
    Originariamente inviato da r0x
    DaUlisse, per favore, puoi postare il codice esattamente come l`hai scritto tu?
    ..
    Questo vale di sicuro per sistemi UNIX, in Windows invece non so bene come stiano le cose. :master:
    A mio avviso dovrebbe essere uno standard del c.
    non so se ANSI o addirittura Ritchie & Kerny..

  6. #16
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    52
    freopen("file.txt","wt","stdout");
    system(comando);
    -->questo e' quello che ho scritto e come ho gia detto se aggiungo stdout=mi da errore

  7. #17
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    stdout=freopen("file.txt","wt",stdout);
    system(comando);

  8. #18
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    52

    uffa... ho detto che se scrivo quella linea di codice mi da errore!!!
    (l'errore che ho scritto prima):quote:

  9. #19
    kentaromiura, io intendo il concetto di descrittore. In Windows ci sono gli "handle", che nascondono parecchio la vera implementazione..

    DaUlisse: io ti uccido.

    1) Ho visto come sono definiti stdin/stdout/stderr in stdio.h in VC++ (c`era da aspettarselo.. ) e quindi ho capito il perche` dell`errore sull`assegnazione;

    2) Dovrebbe funzionare anche senza la riassegnazione;

    3) Fai scervellare la gente e non sei capace neanche a copiare. stdout non va messo fra le virgolette e il mode e` "w+":

    codice:
    freopen("file.txt","wt","stdout");
    codice:
    freopen("file.txt","w+",stdout);
    Per sicurezza:

    codice:
    if( freopen( "file.txt", "w+", stdout ) == NULL )
        puts( "Errore su freopen" );
    Come posso non incazzarmi?

  10. #20
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    52
    mi vien da piangere... e vero che io nn mi spiego sempre al meglio pero in questo caso io non centro!!!!!
    Come devo dirvi che ho gia provato questa linea di codice:
    freopen("file.txt","wt",stdout); ??(e' la prima che ho provato!!!)
    e come ho gia detto rindirizza correttamente le printf() ma per quello che riguarda la system no!!!!
    quindi la riga di codice e' giusta ma il risultato no o almeno per meta!!!!!!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.