Non ne sono sicuro, ma ci dovrebbero essere sono apposite funzioni di libreria che fanno queste cose (ti convertono anche i caratteri accentati, gli apostrofi ecc.) tipo questa: http://php.net/manual/en/function.htmlspecialchars.phpOriginariamente inviato da Rising1
sto provando a fare come suggerito, ma prima ovviamente devo elaborare l' input in modo da mettergli quei "%20" al posto degli spazi
ecco il codice:
gli errori sono dove ci sono le frecce:codice:bool punto=false; int j=39; System::String ^ analize; System::String ^ nuovo="http://www.google.it/search?ie=UTF-8&q="; analize=inserturl->Text; // dove inserturl è la textbox dove l'utente scrive l'url o la cosa da cercare for (int i=0;i<(inserturl->Text->Length);i++) { if (analize[i]=='.') punto=true; } if (punto) webBrowser1->Navigate(inserturl->Text); //In pratica per semplificare se l'utente mette un punto vuol dire che sta mettendo un //indirizzo, come google.it o youtube.com etc, in tutti gli altri casi vuole fare una ricerca su google else { for (int i=0;i<analize->Length;i++) { if (analize[i]==' ') ---> {nuovo[j]='%'; j=j+1; nuovo[j]='2'; j=j+1; nuovo[j]='0'; j=j+1;} else ---> {nuovo[j]=analize[i];j=j+1;} } // lo so, un macello, ma ho poca dimestichezza con questa "nuova" gestione delle stringe nel //c++. In pratica se trovo uno spazio metto in Nuovo[] un %20 e ricomincio a copiare //i caratteri ad uno ad uno. così per tutti gli altri spazi. webBrowser1->Navigate(nuovo); //ed infine inizio la ricerca. }
"error C3070: 'System::String::default': la proprietà non ha un metodo 'set' "
Per risolvere invece ilo tuo problema, prova a contare prima tutti gli spazi, e man mano ti crei le stringhe, che poi unisci tutte insieme mettendo un "%20" nel mezzo