Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [VC++]Problema Con Split e autocreazione dell
Forum - C/C++ - [VC++]Problema Con Split e autocreazione dell

Avatar
Thejuster (Member)
Guru^2


Messaggi: 1703
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 16:50
Giovedì, 12/03/2009
Scusate sto da poco orientandomi su questo linguaggio che mi affascina molto

Ho un problema alla sintesi Split nella creazione dell'array
non so cosa faccio di sbagliato ma non riesco a recupeare il contenuto dell'array splittato

vi mostro il mio esempio

Codice sorgente - presumibilmente C/C++

  1. IO::StreamReader ^STRCFG = gcnew IO::StreamReader("\host.cfg");
  2.  
  3. System::String ^CFG = STRCFG->ReadToEnd();
  4.                        
  5. Object ^splitted = CFG->Split(',');



Ora se provo ad eseguire un for sulla variabile splitted
e come se la var splitted non fosse un array o non contesse alcun dato.
tipo una variabile vuota non da segni di vita.

Qualcuno potrebbe gentilmente spiegarmi come posso eseguire un cilco for
mediante l'utilizzo del medoto split.

Ultima modifica effettuata da Thejuster il 12/03/2009 alle 16:51


PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 20:21
Giovedì, 12/03/2009
Se c'e' un linguaggio che non mi piace veramente, quello e' il "C++ managed" ...

Comunque, il codice dovrebbe essere

Codice sorgente - presumibilmente C/C++

  1. array<String^>^ splitted = CFG->Split(',');
  2.  
  3.         IEnumerator^ en = splitted->GetEnumerator();
  4.         while (en->MoveNext())
  5.         {
  6.                 String^ s = safe_cast<String^>(en->Current);
  7.                 Console::WriteLine( s );
  8.         }



Naturalmente dovrai indicare all'inizio anche

Codice sorgente - presumibilmente C/C++

  1. using namespace System::Collections;




- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1703
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:22
Venerdì, 13/03/2009

Grazie mille funziona perfettamente
volevo chiederti solo un unica cosa però.

Di solito mi piace capire quello che faccio o ciò che scrivono
le persone che mi aiutano.

di solito altre persone si accontentano della sola risposta
ance se non conosco il corretto funzionamento di un azione

volevo sapere questo passaggio che non ho capito bene
la sintesi safe_cast a cosa si riferisce
e subito dopo quel <String^>

Codice sorgente - presumibilmente Plain Text

  1. String^ s = safe_cast<String^>(en->Current);



gentilmente potresti spiegarmi il funzionamento di questa sintesi?

safe_cast<String^>


PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 11:55
Venerdì, 13/03/2009
Testo quotato

Postato originariamente da Thejuster:

gentilmente potresti spiegarmi il funzionamento di questa sintesi?

safe_cast<String^>



en->Current restituisce un Object

Per tipizzare correttamente il valore restituito come String, e' necessario inserire il cast

safe_cast<String^>

Il tipo Object diventerà un tipo String

(Il concetto di cast dovrebbe essere uno dei primi concetti acquisiti da chi programma in C/C++, sia managed che native ... ovvero, ti consiglio di studiare da un libro, capitolo dopo capitolo e non "buttarti" a scrivere codice di cui non conosci le basi teoriche ...)

P.S. Ma perche' la chiami "sintesi"? Sono istruzioni, metodi, classi ... "sintesi" non e' un termine corretto ...

Ultima modifica effettuata da theprogrammer il 13/03/2009 alle 11:57


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote