Integerwert in ASCII Zeichen umwandeln

  • Themenstarter Themenstarter Faliln
  • Beginndatum Beginndatum
F

Faliln

Zuerst einmal über meine Umgebung:
Ich programmiere in C++ mit Visual C++ von Mircosoft auf einer Windowsformanwendung. Mein Betriebssystem ist XP.

Zum Thema:
Ja, ich weiß das es solche Themen sowohl hier, alsauch bei Onkel Google gibt :- ), aber davon funktioniert bei mir nichts.
KA warum -.-

Was ich haben will:
Ich will ein Array of Char haben, indem alle ASCII-Chars von 0-255 stehen: Beispeil CharArray[65] = 'A'.
Ich will das mit einer Schleife(0-255) füllen.

Mein Code:
Code:
// Array füllen
	 Chararray = gcnew array<char,1>(256);
	 char Einzelzeichen;
		 for(int i = 0; i < 256; i++)
		 {
			 Einzelzeichen = (char)i;
			 Chararray[i] = Einzelzeichen;
		 }
// Array ausgeben
		 for(int j = 0; j < 256; j++)
		 {
			 listBox1->Items->Add(Convert::ToString(Chararray[j]));
		 }

Mein Problem:
Alle schreiben, dass bei " Einzelzeichen = (char)i; " bei ihnen in Einzelzeichen das ASCII Zeichen
mit der Nummer i steht, aber bei mir steht einfach nur der Integerwert von i. Was mach ich falsch?
hab ich vielleicht falsche namespaces oder falsche headerdateien
meine:
Code:
 #include <iostream>
	using namespace std;
	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;
 
Nachtrag

Hab ausversehen schon die Anfrage abgeschickt.
Danke für alle hoffentlich kommenden antworten :- )
 
Hi.
Zuerst einmal über meine Umgebung:
Ich programmiere in C++
Du verwendest offenbar C++/CLI - also kein Standard C++ sondern die Sprache von MS für das .NET Framework.
Alle schreiben, dass bei " Einzelzeichen = (char)i; " bei ihnen in Einzelzeichen das ASCII Zeichen
mit der Nummer i steht, aber bei mir steht einfach nur der Integerwert von i. Was mach ich falsch?
Die Convert::ToString Methode akzeptiert z.B. den Typ Char (großes C am Anfang) welches einem Unicode Buchstaben entspricht. Du hast aber den Typ char (kleines c am Anfang) welches nur ein ASCII Zeichen darstellt.

Von der ToString Methode gibt es einige Versionen. Für dein char Argument wird die beste Konvertierung ausgewählt die möglich ist. Das ist in dem Fall Convert::ToString(int).

Das einfachste wäre du würdest überall Char statt char verwenden.

Ansonsten müßtest du jedesmal von ASCII nach Unicode übersetzen und dann auch wieder zurück.

Gruß

PS: Gibt es denn einen bestimmten Grund warum du C++/CLI verwendest und nicht C# ? C++/CLI ist ja mehr als ein Bindeglied zwischen der alten (unmanaged) Welt und dem schönen, neuen (managed) Universum gedacht...
 
Zuletzt bearbeitet:
Danke dir für die ausführliche Antwort :- )
ich habe ein Buch geschenkt bekommen (http://www.amazon.de/gp/product/382...m=A3JWKAKR8XB7XF&pf_rd_r=1RPJ91NZEVDFY3XF813S) und dadrin habe ich C++ gelernt und daher bin ich wohl auf diese C++ Version gekommen:- ).
Kannst du mir etwas besseres empfehlen, vlt sogar gute (wenn möglich deutschsprachige ^^) Literatur empfehlen? Wäre sehr nett.
Also wir haben hier in der Firma das C# 2008 Buch von Doberenz u. Gewinnus (http://www.amazon.de/Visual-C-2008-...=sr_1_9?ie=UTF8&s=books&qid=1276768314&sr=1-9).

Es gibt aber auch bereits die nächste Ausgabe für C# 2010 (http://www.amazon.de/Visual-C-2010-...=sr_1_2?ie=UTF8&s=books&qid=1276768314&sr=1-2)

Ich habe bisher selten in das Buch geschaut, es ist auf jeden Fall sehr umfassend.

Gruß
 
Zurück