Visualizzazione risultati 1 fino 4 di 4

Discussione: [DEV] execl "File Not Found"

  1. #1
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Question [DEV] execl "File Not Found"

    Salve!
    All'interno di un programma che ho scritto (in linguaggio C) effettuo la chiamata ad un altro programma tramite la funzione execl

    Tutto funziona correttamente se inserisco dei valori fissi per i parametri, ma quando passo questi valori tramite variabile la funzione si impalla.

    Ex.
    execl ("/home/pippo","mioscript","/home/pippo/indirizzo.txt",0);
    produce un output corretto.

    ma se utilizzo il seguente codice :
    .....
    ......
    #define MAX_STRING 256
    ...
    .......
    .....

    char parametro [MAX_STRING];
    memset (parametro,'\0',sizeof(parametro));
    strcpy(parametro,"/home/pippo/indirizzo.txt");

    execl("/home/pippo","mioscript",parametro,0);
    .....
    .....
    .......
    ecco che la funzione mi genera un errore del tipo
    Il file o il path non esistono.

    Come devo comportarmi?
    E' possibile passare valori dinamicamente a questa funzione o sono fregato?

    Leandro

    P.S.
    IL programma gira su una macchina SUN

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  2. #2
    Ospite Guest

    Predefinito

    premesso che non ho mai provato ad usare execl

    per verificare se accetta o no parametri memorizzati in variabili potresti provare cosi
    char* parametro="/home/pippo/indirizzo.txt";
    e poi passi paramtro e execl(), se funziona potrebbe essere che la stringa passata non è pulita

  3. #3
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Citazione Originalmente inviato da xDestroyer
    premesso che non ho mai provato ad usare execl

    per verificare se accetta o no parametri memorizzati in variabili potresti provare cosi
    char* parametro="/home/pippo/indirizzo.txt";
    e poi passi paramtro e execl(), se funziona potrebbe essere che la stringa passata non è pulita
    Il problema era proprio quello.........un maledetto ^M alla fine della stringa!!!

    Grazie xDestroyer


    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  4. #4
    Ospite Guest

    Predefinito

    di nulla

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •