Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C] - variabili e conversioni tra puntatori

    Salve atutti, vi espongo il mio problema:
    ho degli interi che devo passare come parametri di un programma attraverso una execl(...) la quale però accetta solo puntatori a char nel vettore argv[].
    Come posso fare?
    Posso semplicemente fare un cast tra puntatori o devo usare funzioni come itoa() o altre? Vorrei usare il minor spazio possibile; poi una volta passati devoriportarli allo stato di interi per trattarli come tali.

    Grazie,

    Fabio

  2. #2
    Devi usare la itoa.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Originariamente inviato da MItaly
    Devi usare la itoa.
    che non è una funzione del C... ;-)

    EDIT e poi al limite deve convertire stringhe in interi, quindi deve usare la atoi (che invece è una funzione del C... )

  4. #4
    Originariamente inviato da MacApp
    che non è una funzione del C... ;-)
    È nella terra di nessuno delle funzioni non standard ma implementate da tutti.
    EDIT e poi al limite deve convertire stringhe in interi, quindi deve usare la atoi (che invece è una funzione del C... )
    Prima deve convertire gli interi in stringhe (da usare nella execl); poi, nel programma avviato tramite la execl, dovrà usare la atoi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Invece della itoa, si può usare anche la

    sprintf( str, "%d", intVal );

    che definita nello standard ANSI.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  6. #6
    Piuttosto usa la snprintf (non inclusa nello standard C89 ma molto diffusa, poi diventata standard nel C99), in modo da evitare i buffer overflow.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Grazie mille,
    alla fine per rimanere entro i confini del C e degli standard usero la snprintf.........appena ho provato la sprintf gia' mi son trovato davanti ad un bel segmentation fault...
    Mi rompe solo dover ogni volta riconvertire tra stringa e interi visto che per ogni intero questo puo' arrivare a fare piu' passaggi attraverso le execl e dopo ogni passaggio deve essere trattato di nuovo come numero e non come tringa.
    Grazie mille per le dritte!

    Fabio

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Fossi in te proverei a passare gli interi senza convertirli in ASCII ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Ma e' possibile?
    Avevo gia' provato ma non mi pare funzionasse. Difatti execl ha come parametro argv[] che se non sbaglio e' un vettore di puntatori a stringhe, come ci infilo un puntatore ad un intero?

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Mostra il codice con cui avevi tentato ...
    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.