Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    eseguire programma da un altro[C++]

    allora ho dei programmi in una cartella relativa al programma principale che quando scrivo il nome di uno di quei programmi li esegue.
    ho due dubbi:
    1)come li eseguo?
    2)cm indico il path relativo(sto su linux)

  2. #2
    1) Con fork ed exec oppure con system.
    2) In che senso?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da MItaly
    1) Con fork ed exec oppure con system.
    2) In che senso?
    metti che il mio comando è ciao e sta in Commands che è una sottocartella della cartella del mio programma principale devo passargli il path relativo ma nn funziona su linux

  4. #4
    I percorsi relativi si riferiscono alla cartella corrente del processo, che però è differente a seconda di come lo avvii; tu attualmente come fai partire il processo a cui passi il percorso relativo?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da MItaly
    I percorsi relativi si riferiscono alla cartella corrente del processo, che però è differente a seconda di come lo avvii; tu attualmente come fai partire il processo a cui passi il percorso relativo?
    in che senso cm lo faccio partire? :master:

  6. #6
    se da un programma devi par fartire un altro programma devi usare quanto ti ha suggerito MItaly punto 1 (scelta migliore).
    Ti conviene determinare la directory corrente e costruirti il path completo per la chiamata.
    In alternativa puoi inserire tutti i tuoi eseguibili nella directory $(HOME)/bin e metterla nella variabile di ambiente PATH (normalmente c'è già). In questa maniere li esegui direttamente inserendo il nome del programma
    ciao
    sergio

  7. #7
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da mondobimbi
    se da un programma devi par fartire un altro programma devi usare quanto ti ha suggerito MItaly punto 1 (scelta migliore).
    Ti conviene determinare la directory corrente e costruirti il path completo per la chiamata.
    In alternativa puoi inserire tutti i tuoi eseguibili nella directory $(HOME)/bin e metterla nella variabile di ambiente PATH (normalmente c'è già). In questa maniere li esegui direttamente inserendo il nome del programma
    ciao
    sergio
    visto che il c++ lo sto riprendendo in questi giorni cm faccio a determinare la directory corrente?
    per la tua idea è bella ma nn posso utilizzarla(il mio programma è un emulatore di terminale)

  8. #8
    su windows
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    
    	char buf[_MAX_PATH];
    	getcwd(buf, _MAX_PATH);
    	printf("Vecchia directory : %s\n", buf);
    	chdir("/home/sergio");
    	getcwd(buf, _MAX_PATH);
    	printf("Nuova directory : %s\n", buf);
    	
    	return (0);
    }

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.