Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Semplicemente usi argv[1] senza alcun replace ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #12
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Ok

    Adesso provo

  3. #13
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: Scusa

    Originariamente inviato da kirakira93
    E quindi come dovrei modificare il codice?
    Sapendo che da argv[1] arriva la stringa con uno slash?
    Non devi fare nulla.
    Va benissimo già così.

    Il doppio backslash si usa solo nelle costanti all'interno del codice sorgente perchè altrimenti il compilatore fa confusione... tutto quello che non è nel codice sorgente, va benissimo senza alcuna modifica.

    Però queste cose si studiano sui libri... sono fondamentali.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #14
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Grz

    Grazie ma quindi: se la stringa è all'interno di un vettore lo slash è accettato e se la stringa è un array static allora ci vuole il doppio? giusto?

  5. #15
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: Grz

    Originariamente inviato da kirakira93
    Grazie ma quindi: se la stringa è all'interno di un vettore lo slash è accettato e se la stringa è un array static allora ci vuole il doppio? giusto?
    NO.
    La cosa migliore è che tu ti studi il quoting dei caratteri.

    Il carattere di backslash è un carattere speciale e serve a quotare altri caratteri speciali. Esempio, se tu vuoi mettere le virgolette all'interno di una stringa, che fai?

    codice:
    char *str = "mia \"stringa\"";
    Perchè? Perchè se dopo la parola "mia" metti semplicemente le virgolette, come fa il compilatore a capire che tu non vuoi chiudere la stringa ma vuoi inserire il carattere "virgolette" all'interno della stringa? Non può, devi usare il backslash per quotare il carattere "virgolette".

    Stessa cosa per il backslash stesso: è un carattere speciale e come tale va quotato perchè il compilatore non sa cosa vuoi fare.

    Questo solo nei sorgenti, ovunque tu abbia dei caratteri speciali. (virgolette, backslash, caratteri di acapo, ecc).

    Ovviamente se l'informazione ti arriva da fuori (e non dal sorgente) i problemi non sussistono.

    Fai una prova di questo tipo:

    codice:
    int main(int argc, char **argv) {
       cout << "C:\\Pippo" << endl;
       cout << argv[1] << endl;
    }
    Chiama il programma "pippo", compilalo e richiamalo da riga di comando così:

    codice:
    C:> pippo C:\Pippo
    Vedrai che non c'è differenza fra le due stringhe.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #16
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    Bene Grazie

    Grazie mille ora ho capito... grazie ancora!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.