Visualizzazione risultati 1 fino 15 di 15

Discussione: [C] aprire un file

  1. #1
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito [C] aprire un file

    Salve a tutti:

    Dal titolo sembrerebbe che voglia aprire un file. Infatti è così!!

    Ma non con la solita funzione fopen(): io VORREI APRIRE un file come se CLICCASSI due volte sul file: con il programma appropriato!!.

    Questo posso farlo con il comando system: scrivo

    Codice:
    system("m.html");
    ...ma non funziona!!

    allora vado a provare se effettivamente non riesce ad aprirlo andando sul prompt dei comandi e digitando "m.html". Ma quest'ultimo funziona!!

    p.s. so che il comando "system" non è molto portabile, ma a me basterebbe!!

    Grazie,

    CIAO!

  2. #2
    Guest

    Predefinito

    Veramente il system a me funziona bene

  3. #3
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    system è portabile ed è proprio questo il problema

    se vuoi qualcosa che simuli start -> esegui per intenderci, usa ShellExecute()

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Citazione Originalmente inviato da gabryhacker Visualizza messaggio
    Veramente il system a me funziona bene
    Ma cosa sbaglio??

    Il comando system() funziona perché i comandi "normali" funzionano!!

    (ad esempio):

    Codice:
    system("cls");
    system("pause");
    ...ma se uso:

    Codice:
    system("m.htm");
    system("c.exe");
    Non funziona

    I file, poi, esistono: se vado su prompt dei comandi e digito "m.htm" funziona

    Ho provato a formattare, ma niente

    p.s. windows vista (basic) - Dev-C++ (4.9.9.2).

    C'è qualche impostazione nel compilatore??

    Grazie,

    Ciao!

  5. #5
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    gli eseguibili devono funzionare

    hai provato a passargli un path relativo o assoluto?

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Io ho gli ho dato un path relativo: ho fatto così:

    Codice:
    system("c.exe");
    Dici che dovrei fare:

    Codice:
    system("C:\User\Ale\c.exe");
    funzionerebbe??

    ovvero: io quando apro il prompt dei comandi, il path

    Codice:
    C:\User\Ale\
    è già preimpostato...

    Ma se lo eseguo tramite il programma in C, il path "predefinito" cambia??

    ...provo con il path assoluto...

    Grazie,

    CIAO!


    EDIT:

    Ho provato a fare:
    Codice:
     system("C:\\Users\\Ale\\c.exe");
    ...ma quando lo lancio, MI APRE UN PROGRAMMA PRECEDENTE!! (e non quello) !!

    (certe volte me lo fa, ma poi dopo di un po cambia..).
    Ho provato anche a salvarlo in un' altra cartella, ma niente ...

    Grazie,

    CIAO!
    Ultima modifica di alemoppo : 03-01-2009 alle ore 23.02.51

  7. #7
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    cosa intendi per "un programma precedente" ?

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Un programma precedente che avevo fatto:

    lo compilo -->ok

    lo lancio -->mi apre UN ALTRO PROGRAMMA che avevo fatto precedentemente

    mi era capitato, ma dopo di un po smetteva... mah...

    Grazie,

    CIAO!

    EDIT:

    addirittura gli ho messo un system("cls"); per cancellare eventuali residui di altri programmi!!
    (quando il mio prof. mi ha insegnato a programmare, mettevamo un "clrscr()" per pulire eventuali residui...MA SOLTANTO SCRITTE RESIDUE !!!)

    comunque il programma (momentaneamente) è:

    Codice:
    int main()
    {
        system("cls");
        system("C:\\Users\\Ale\\c.exe");
        return 0;
    }
    ...mah...

    CIAO!
    Ultima modifica di alemoppo : 04-01-2009 alle ore 02.26.29

  9. #9
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    hai le idee un po' confuse ti consiglio la lettura di un buon libro stile "Linguaggio C" di Kernighan & Ritchie

    dimentica quello che insegnano sulla programmazione alle superiori.... è tutto nozionismo e informazioni fuorvianti, purtroppo è cosi... anche in un istituto tecnico informatico i professori si limitano a spiegare in base a quello che hanno capito senza entrare nelle problematiche reali che hanno portato alla creazione di determinato linguaggio, insomma sono loro i primi a non ragionarci sopra

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    il problema è che ancora faccio la 4 !!!

    Faccio l'ITIS in EN... E adesso stiamo per programmare microcontrollori in C (ancora non sono capace, ma...).

    Ma perchè il dev a me apre un programma che ho fatto precedentemente??... è stano??

    p.s. mio fratello mi ha dato un libro del C, ma ad un certo punto non co capisco più niente (fino i puntatori, funzioni, gestione stringhe ci arrivo, ma poi )....

    Grazie di tutto, CIAO!


    EDIT:

    Ho riguardato il libro (la copertina ) ed è PROPRIO QUELLO CHE MI HAI DETTO TU (seconda edizione!!).... ma l'ho letto un po di tempo fa: adesso (forse) ci capisco: nel frattempo ho imparato un "sacco" di cose!!
    Ultima modifica di alemoppo : 04-01-2009 alle ore 22.40.16

  11. #11
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    quel libro lo considero il migliore per imparare il C, non è pesante, ripetitivo e prolisso, in meno di 400 pagine spiega tutto una volta sola

    ancora non riesco a capire che programma dovrebbe aprirti....

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Citazione Originalmente inviato da AlexKidd Visualizza messaggio
    ancora non riesco a capire che programma dovrebbe aprirti....
    In pratica, ho fatto così: ho fatto un programmINO. POI ho fatto quello che stiamo trattando, ma quando lo vado ad eseguire MI LANCIA IL PRIMO!!! Eppure io ho aperto il sorgente dell'ultimo .

    Adesso provo a disinstallare e reinstallare il dev..

    CIAO!

  13. #13
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    ah ecco, ora ci siamo capiti

    credevo che fosse il programma stesso a richiamare un altro programma (visto che usavi la system())

    di default dev-c++ dovrebbe crearti un eseguibile con lo stesso nome del sorgente che contiene il main() ma per risolvere ogni ambiguità ti consiglio di creare un progetto per ogni programma che fai

    ah... dev-c++ è un IDE ormai abbandonato che non viene aggiornato da anni.... esiste code::blocks che è praticamente uguale a livello di interfaccia ma è aggiornato costantemente (almeno per ora)

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Grazie, proverò a scaricare quel programma. E' free, no??



    p.s. strano che il dev non lo aggiornano (una volta ci ho provato ma non c'erano aggiornamenti): io mi ci trovo abbastanza bene!!

    Proverò a fare un nuovo progetto. (in realtà ci avevo pensato, ma pensavo che non centrasse niente...).

    Grazie!

    CIAO!

    EDIT:
    alla fine così funziona... (posso iniziare il programma ) :

    Codice:
    int main(int argc, char *argv[])
    {
      system("C:\\Users\\Ale\\m.htm");;
      system("PAUSE");	
      return 0;
    }
    Grazie a tutti

    CIAO!
    Ultima modifica di alemoppo : 05-01-2009 alle ore 22.34.57

  15. #15
    L'avatar di AlexKidd
    AlexKidd non è connesso Altervistiano Junior
    Data registrazione
    09-02-2007
    Messaggi
    516

    Predefinito

    si, è free nel senso che è software libero ovviamente

    attento però che quello che stai facendo funzionerà solo su windows e solo sui sistemi dove è configurato un browser come primo programma per aprire un file html

Regole di scrittura

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