Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    77

    [c\c++] Valore di ritorno da un eseguibile

    Salve a tutti,

    è possibile far ritornare ad un .exe un valore che poi posso inserire in una variabile?
    cioè quello che voglio fare è invece di chiamare una funzione e farmi restituire un valore, chiamare direttamente un .exe in cui ho dichiarato un "int main () " e mi restituisce un valore con return


    grazie!!!

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Ne parlammo tempo fa...

    Originariamente inviato da Samuele_70
    Ulteriori spiegazioni no ma un esempio ( ...pratico come piace a me... ) :

    Programma 'figlio' "Int_main.cpp" :
    codice:
     /**
     	* Nome file : "Int_main.cpp"
     	*
     	**/
    
    #include <process.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    int main( int argc, char *argv[] )
    {
    	int a;
    	if( argc == 0 ) return 999;
    	a = atoi(argv[1]);
    	a *= 2;
    	return a;
    }
    Programma 'padre' "Int_main_Parent.cpp" :
    (questo mi funziona solo con il BCC32, con il GCC mi va in crash ... Magari tu riesci a farlo funzionare. )
    codice:
     /**
     	* Nome file : "Int_main_Parent.cpp"
     	*
     	**/
    
    #include <process.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    
    int main( int , char *argv[] )
    {
       unsigned int numero, result;
       char *parametro, *digit;
       do
       {
       	printf("\nInserisci un numero da passare (0 per uscire): ");
       	scanf("%s", digit);
    		numero = atoi(digit);
    		if(numero>0 )
    		{
       		itoa(numero, parametro, 10);
       		printf("\nPasso il valore : %s", parametro);
       		result = spawnl(P_WAIT, "Int_main.exe", argv[0], parametro, NULL);
       		if (result == -1)
       		{
    	      	perror("Error from spawnl");
    	   		getch();
          		exit(1);
       		}
       		else
    		   	printf("\nValore di ritorno : %i\n", result);
    	   }
       } while(digit[0] != '0' );
       return 0;
    }
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    77
    Fantastico....Grazie!!!

    un' altra domanda... c'è qualcosa di simile a SPAWNL in VB6? perchè vorrei fare la stessa cosa per un programma scritto in VB6....


    Grazie ancora!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    77
    tornando al problema...

    ho saputo che c'è la possibilità di inviare un messaggio (SENDMESSAGE) da un eseguibile all'altro se entrambi sono attivi...

    qualcuno sa darmi qualche informazione su come fare?


    grazie!!!

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Questo e' un altro problema ... dovresti aprire un altro thread, altrimenti non si capisce nulla ...

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.