PDA

Visualizza la versione completa : [C] escape url


maurizio2
01-01-2005, 19:20
Ciao!! Sto sperimentando la funzione system(),
quando voglio trovare un file in una directory
scrivo:

code
...
system("C:\\dir1\\dir2\\...\\miofile");
...

Tutto funziona e attingo mediante il codice
alla risorsa richiesta

Ma quando scrivo una diractory con spazi:

code:

...
system("C:\\Documents and Settings\\mau\\Desktop\\miofile");
...

non trova la directory,

Domanda: come faccio a trovare la giusta sequenza di escape??

teju
01-01-2005, 19:27
Originariamente inviato da maurizio2
system("C:\\Documents and Settings\\mau\\Desktop\\miofile");

Hai già provato a sostituire gli spazi con il %20??
Magari non funziona lo stesso, io ci provo.... :zizi:

¹²³
01-01-2005, 19:51
prova cosi...

system("\"C:\\Documents and Settings\\mau\\Desktop\\miofile\"");

oppure scrivila in formato 8.3

maurizio2
02-01-2005, 10:14
Inserendo %20 non funziona,
trattando i doppi apici con la sequenza di escape
la funzione system()
passa la giusta riga di comando e attingo alla risorsa!!
Ma mi chiedo ancora quale sia la logica perche se lo faccio
dal prompt dei comandi ancora non mi funziona!!!
Come faccio adesso direttamente dalla riga di comando??

Johnny_Depp
02-01-2005, 10:31
esempio, editare il seguente file: .\mia directory\mio file.txt

da prompt:

EDIT mia" "directory\mio" "file.txt

in C/C++ devi scrivere:

system("EDIT mia \" \"directory\\mio\" \"file.txt");

maurizio2
02-01-2005, 22:37
E' questo il formato 8.3??

Johnny_Depp
02-01-2005, 23:28
no, sono le basi del DOS unite alle regole (sequenze di escape) del C/C++

p.s. 8.3 cosa sarebbe!?

DYNAM!C+
03-01-2005, 00:39
Originariamente inviato da Johnny_Depp
no, sono le basi del DOS unite alle regole (sequenze di escape) del C/C++

p.s. 8.3 cosa sarebbe!?

formato DOS - short file name

(tasto DX > save target as...)
http://tempuser.altervista.org/backup/Long2dos.exe

trascinaci dentro 1 file e ti fa il corrispettivo DOS8.3

Johnny_Depp
03-01-2005, 00:53
ah, lo sapevo (che le prime versioni del DOS non prendevano nomi superiori agli otto caratteri... e in caso di nomi uguali troncavano con tilde + numero progressivo) ma non ricordavo che si chiamasse così :madai!?:

:D

Loading