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

    [C e C++] Inglobare programma

    Un saluto a tutto il forum,
    premetto che sono un newbie e spero in un vostro aiuto.

    Cerco di spiegare quello che vorrei realizzare.
    Ho trovato una funzione scritta in C che funziona perfettamente.
    Ora vorrei inglobarla nel mio programma principale (scritto in C++), ma ci sarebbe un problema perchè questa funzione prende come input un file e poi lo elabora.
    Mi spiego meglio postando un pezzo del programma:

    Codice PHP:
    void main (argcargv)
      
    int argc;
      
    char **argv;
    {
      
    FILE *fd;
      
    graph *gr;

      if  (
    argc != 2)
       { 
    fprintf (stderr"parameter missing\n");
         
    fprintf (stderr"usage prg <input filename>\n");
         exit (
    1);
       }

      if ((
    fd fopen (argv[1], "r")) == NULL)
       { 
    fprintf(stderr"Unable to open %s\n"argv[1]);
         exit (
    1);
       }

      
    gr get_graph (fd);
      if (
    gr == (graph *) 0)
       { 
    close (fd);
         exit (
    1);
       }
      
    close (fd);
    ecc..ecc.. 
    Come si vede il programma in "standalone" funziona cosi da riga di comando:
    prg FILE.dat
    (nel FILE.dat ci sono dei valori da elaborare)

    Nel mio programma principale tutti i valori presenti nel FILE.dat ce li ho in memoria.
    Il problema è:
    "Come faccio a passarli alla funzione?"
    Infatti, la funzione si aspetta un puntatore ad un file.

    Vorrei evitare di stravolgere il programma che ho trovato, perchè le modifiche sarebbero troppe e rischierei di "rovinarlo" in quanto ci sono molte funzioni (come ad esempio get_graph) che si aspettano una variabile di tipo FILE (*fd) e quindi dovrei andarli tutti a modificare.
    Esiste un modo per evitare questo?

    Un modo veramente schifoso ed immediato (che ho già testato efficientemente) sarebbe scrivere i valori che c'ho in memoria in un file e poi passare la char[] che contiene la path al FILE.dat alla funzione che poi andrà ad elaborarlo......ma è brutto

    Spero di essermi spiegato al meglio, grazie davvero per l'aiuto.
    Ciao.

  2. #2
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Innanzitutto benvenuto.

    La prossima volta non postare il codice come una citazione piuttosto usa i tag CODE o PHP. Venendo al tuo problema sinceramente non ci ho capito molto o meglio non ho capito che cosa vuoi fare ed oltretutto hai postato solo un pezzo di codice NON TUO.

  3. #3
    Originariamente inviato da Pacio88
    Innanzitutto benvenuto.

    La prossima volta non postare il codice come una citazione piuttosto usa i tag CODE o PHP. Venendo al tuo problema sinceramente non ci ho capito molto o meglio non ho capito che cosa vuoi fare ed oltretutto hai postato solo un pezzo di codice NON TUO.
    In che senso NON TUO?
    Il problema è
    "Come faccio a passare i valori che ho in memoria alla funzione (quella che ho postato) che si aspetta un puntatore al file (*fd)"?

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [C e C++] Inglobare programma

    Originariamente inviato da Giacomo1978
    Un modo veramente schifoso ed immediato...
    Oltre che il più semplice e unico.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  5. #5

    Re: Re: [C e C++] Inglobare programma

    Originariamente inviato da shodan
    Oltre che il più semplice e unico.
    Azz, vabbè
    Amen, mi metto l'anima in pace

    Grazie per l'aiuto

  6. #6
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Originariamente inviato da Giacomo1978
    In che senso NON TUO?
    L'hai detto te che hai trovato una funzione scritta in c.. e in italiano questa frase lascia pensare che non l'hai fatta tu altrimenti avresti scritto "ho realizza questa funzione in c".

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: Re: Re: [C e C++] Inglobare programma

    Se hai modo di vedere come legge i dati la funzione

    get_graph

    allora puoi passarli esattamente come li vuole (in un array o altro ...)
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.