Integer Array in ein String Array und dann per Netstream versenden



  • Hi Leute,

    ich habe ein Problem und die Suche hilft mir nicht wirklich weiter.

    Ich habe ein 2d Interger array das so aussieht

    2,0,0,0,0,0,132,5,8,0,0,0,255,41
    4,0,0,0,0,0,112,5,3,0,3,0,233,2
    .
    .
    .
    5,0,0,6,0,1,0,1,4,0,0,0,122,22

    ich möchtet dieses wie es oben angegeben ist in ein String Array umwandeln.

    danach möchte ich dieses per Netstream weiter schicken. Immer zeilen weise.

    Ich habe es mit einer schleife versucht im es damit einzulesen nur leider funktioniert das nicht wie ich das immer unter VB6 gemacht hatte.
    Kann mir da einer vielleicht helfen?

    Vielen Dank

    Andreas



  • Zeige mal deine Versuche.
    Es ist einfacher zu helfen, wenn schon Code vorliegt.
    Grüsse Simon



  • Danke für deine Antwort

    Hier mal ein versuch:

    String ^str = gcnew String(Eingangb[1][1].ToString);
    

    hier ein anderer

    strcpy(testdem,Convert::ToChar(Eingangb[durchl][0])+Eingangb[durchl][1]+Eingangb[durchl][2]+Eingangb[durchl][3]+Eingangb[durchl][4]+Eingangb[durchl][5]+Eingangb[durchl][6]+Eingangb[durchl][7]+Eingangb[durchl][8]+Eingangb[durchl][9]+Eingangb[durchl][10]+Eingangb[durchl][11]+Eingangb[durchl][12]+Eingangb[durchl][13]+Eingangb[durchl][14]+Eingangb[durchl][15]+Eingangb[durchl][16]+Eingangb[durchl][17]+Eingangb[durchl][18]+Eingangb[durchl][19]+Eingangb[durchl][20]);
    

    Das wollte ich dann in eine Schleife packen... er will aber schon so nicht...

    würde das mit Convert::ConvertAll gehen? Habe ich auch versucht aber auch nicht erfolgreich gewesen.

    Danke

    Andreas



  • Was heisst "er will aber schon so nicht"?
    Fehlermedlungen (exakt)...

    Kompilierfehler, Linkerfehler, Laufzeitfehler...



  • Bei der Letzten Funktion kommt:

    error C2664: 'strcpy': Konvertierung des Parameters 2 von 'int' in 'const char *' nicht möglich

    hilft das weiter?

    Gruß

    Andreas



  • Generell kann ich Dir nur raten entweder in ISO C++ oder in C++/CLI zu programmieren.

    strcpy ist eine Funktion der c-standard library!

    Versuche doch erstmal ein integer in ein string zu konvertieren.
    Ev. ist das gar nid sinnvoll, denn Du möchtest das ja anschliessend in den Stream schreiben... was benötigt denn der STream?



  • Ich habe ein 2d Interger array das so aussieht

    2,0,0,0,0,0,132,5,8,0,0,0,255,41
    4,0,0,0,0,0,112,5,3,0,3,0,233,2
    .
    .
    .
    5,0,0,6,0,1,0,1,4,0,0,0,122,22

    ich möchtet dieses wie es oben angegeben ist in ein String Array umwandeln.

    Hier ist dafür C# Code. Es sollte wenig Arbeit sein den Code in C++/CLI umzuschreiben.

    int rows = v.GetLength(0);
    			string[] l = new string[rows];
    			for(int i = 0; i < rows; ++i)
    			{
    				StringBuilder sb = new StringBuilder();
    				int columns = v.GetLength(1);
    				for(int j = 0; j < columns; ++j)
    				{
    					sb.Append(v[i, j]);
    					if (j < columns-1)
    					{
    						sb.Append(",");
    					}
    				}
    				l[i] = sb.ToString();
    			}
    
    			foreach (string s in l)
    			{
    				Console.WriteLine(s);
    			}
    

    danach möchte ich dieses per Netstream weiter schicken. Immer zeilen weise.

    Ich nehme an beim NetStream handelt es sich um die Klasse NetworkStream.
    Auf jedenfall benötigst Du beim Versenden höchstwahrscheinlich ein byte array.
    Dazu kannst du die Klasse System.Text.Encoding benutzen.
    (System.Text.Encoding.Default.GetBytes(...)).

    Hoffe das hilft Dir weiter.

    Darf ich frage, warum Du ausgrechnet C++/CLI als Sprache programmierst?
    Gruss Simon



  • Hi

    Danke für deine Antwort.

    Habe das Problem anders gelöst:

    Array^ EingangsArray = Array::CreateInstance( String::typeid, 100 );
    
    String ^str = gcnew String(Convert::ToString(Eingangb[durchl][0]));
    EingangsArray->SetValue( str, durchl );
    

    Das alles in ne Schleife gepackt dann gings.

    mein Chef meint ich soll in C++/Cli programmieren...

    Gruß und Danke

    Andreas


Log in to reply