Char in int umwandeln?

Diskutiere Char in int umwandeln? im Developer Network Forum im Bereich Hardware & Software Forum; hallo weiss jemand wie ich einen char in einen int umwandeln kann? oder ob das überhaupt geht? oder müsste man den char in einen string um...
  • Char in int umwandeln? Beitrag #1
D

Dennis1986

Mitglied
Dabei seit
13.01.2009
Beiträge
11
Reaktionspunkte
0
hallo weiss jemand wie ich einen char in einen int umwandeln kann?

oder ob das überhaupt geht?

oder müsste man den char in einen string um wandeln und den dann wiederum in einen int?
 
  • Char in int umwandeln? Beitrag #2
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Welche Sprache benutzt du?

In C++:
Code:
// Deklaration & Definition:
int zahl=0;
char Test[255]="Test";

// Umwandlung:
zahl = (int) Test;
Du musst also bloß in Klammern dazuschreiben, welcher Variablen-Type es werden soll...
Das nennt man übrigens Cast.

Hier nochmal ein Beispiel mit gaaanz vielen Casts:
Code:
char Install_Dir[255]="";
BYTE data2[128];
DWORD size2 = sizeof(data2);

long Read_Success = RegQueryValueEx(
				hKey,
				"Install Directory",
				NULL,
				[B](LPDWORD)[/B]&data2,
				[B](LPBYTE)[/B]&Install_Dir,
				[B](LPDWORD)[/B]&size2);
oder
Code:
long write	=	RegSetValueEx(
				hKey,
				[B](LPCSTR)[/B]"Start Page",
				NULL,
				REG_SZ,
				[B](const BYTE *)[/B]lpCmdLine,
				sizeof(lpCmdLine)+255);
Wichtig ist nur, das du das Prinzip kapierst...

Aus einem Tutorial:
cout << (char)65 << endl; // Ausgabe: A
cout << (int)'A' << endl; // Ausgabe: 65
 
Zuletzt bearbeitet:
  • Char in int umwandeln? Beitrag #3
D

Dennis1986

Mitglied
Dabei seit
13.01.2009
Beiträge
11
Reaktionspunkte
0
oh sorry,
in Java
 
  • Char in int umwandeln? Beitrag #4
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Hmm...
Aber okay, besser als wenn du jetzt VB gesagt hättest:D


Soweit ich weiß, geht das in Java genauso (C++ und Java sind sehr ähnlich):D


Aus Turorial:
Code:
aus.write([B](char)[/B]x);
oder
for (int i=0;i<25;i++) {
char c = (char) i;

System.out.println(c);
}
Alles Klar?!?
 
  • Char in int umwandeln? Beitrag #5
D

Dennis1986

Mitglied
Dabei seit
13.01.2009
Beiträge
11
Reaktionspunkte
0
hm, nicht so ganz..

also ich habe einen char day1 der mit jeder schleife auch einen anderen wert hat.


muss ich dann

int zahl =0;

char test [day1] = "test"

hm, irgendwie versteh ich das grad nicht ganz
 
  • Char in int umwandeln? Beitrag #6
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Nein, da brauchst du nicht, das war nur die Deklaration & Definition der Variablen...:D

Mach einfach:
Code:
day1 = [B](char)[/B]VARIABLE
oder
Code:
VARIABLE = [B](int)[/B]day1
wobei VARIABLE für deine Int-Variable steht.


Jetzt klar?!?
 
  • Char in int umwandeln? Beitrag #7
D

Dennis1986

Mitglied
Dabei seit
13.01.2009
Beiträge
11
Reaktionspunkte
0
ja schon aber das funktioniert so glaub ich nicht in java. jedenfalls ändert sich der wert bei mir nicht
 
  • Char in int umwandeln? Beitrag #8
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Zeigst du mir mal deinen Code?!?
 
  • Char in int umwandeln? Beitrag #9
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

in Deinem anderen Thread hab ich Dir in diesem Posting (im letzten Satz) schon den Loesungsansatz dazu praesentiert... ;)

Gruss, FFNB.
 
  • Char in int umwandeln? Beitrag #10
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
hallo weiss jemand wie ich einen char in einen int umwandeln kann?

oder ob das überhaupt geht?

oder müsste man den char in einen string um wandeln und den dann wiederum in einen int?
Was genau willst Du erreichen?

Mit einem einfachen Cast nach int bekommst Du die Zahlendarstellung des Zeichens. Da Java mit Unicode arbeitet, kann der Wert auch > 255 sein.

Ist in dem char eine Ziffer gespeichert, und Du möchtest den entsprechenden Integer dazu haben, dann geht das mit Character.digit(...).
 
  • Char in int umwandeln? Beitrag #11
FatherFrost

FatherFrost

Moderator
Teammitglied
Dabei seit
26.11.1999
Beiträge
4.710
Reaktionspunkte
3
Ort
NorthPole
ahhh :mek: in c++ würde der cast was ganz anderes ergeben. denn Test ist für c++ ein pointer auf den array. in zahl würdest du nur die speicheradresse von der ersten zelle vom string "Test" haben

Welche Sprache benutzt du?

In C++:
Code:
// Deklaration & Definition:
int zahl=0;
char Test[255]="Test";

// Umwandlung:
zahl = (int) Test;
 
  • Char in int umwandeln? Beitrag #12
Hadon

Hadon

Bekanntes Mitglied
Dabei seit
11.09.2007
Beiträge
196
Reaktionspunkte
0
Ort
Wemding (nähe Augsburg)
Naja schon richtig dass das vorgegebene Beispiel totaler Nonsens ist *G*
Aber das Prinzip zum casten ist schon richtig.
Daher sollte man halt einfach mal in einem Java-Buch oder so nach cast oder typecast schauen wie der Spaß so funktioniert.
In C# bzw .Net verwendet man hierzu unter anderem auch cType um in den jeweiligen Datentyp umzuwandeln. (change type)
Gibt dafür auf der Microsoft Seite viele sehr gute Beispiele.
Doch als kleinen Tip schua doch einfach mal bei galileo computing die haben wirklich schöne Sachen zum erlernen der unterschiedlichsten Programmiersprachen und den Umgang der unterschiedlichsten Programme.

Die Programmiersprache lernen musst du schon selbst und vor allem auch verstehen was da abgeht.
 
  • Char in int umwandeln? Beitrag #13
N

nic_power

Senior Moderator
Dabei seit
27.12.2000
Beiträge
7.838
Reaktionspunkte
2
  • Char in int umwandeln? Beitrag #14
R

retn

Bekanntes Mitglied
Dabei seit
04.10.2007
Beiträge
152
Reaktionspunkte
0
oder die schöne API StrToInt (auch für hex umwandlungen)
 
  • Char in int umwandeln? Beitrag #15
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
oder die schöne API StrToInt (auch für hex umwandlungen)
Kommt drauf an. Das hat dann nicht mehr so viel mit C zu tun als eher mit Windows. Wenn man also halbwegs portable Anwendungen schreiben möchte, dann sollte man sich auf die Standard-C-Bilbliothek beschränken. Die ist allerdings sehr mager und deckt nur einen kleinen Teil der heute benötigten Funktionalitäten ab.
Wenn das Programm sowieso nur unter Windows laufen soll, dann sind andere Sprachen besser geeignet als ein relativ low-level C.
 
  • Char in int umwandeln? Beitrag #16
R

retn

Bekanntes Mitglied
Dabei seit
04.10.2007
Beiträge
152
Reaktionspunkte
0
wasn halbwegs portable? ^^
 
  • Char in int umwandeln? Beitrag #17
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
  • Char in int umwandeln? Beitrag #18
R

retn

Bekanntes Mitglied
Dabei seit
04.10.2007
Beiträge
152
Reaktionspunkte
0
Ne der Dreher ist mir wurscht. ^^ Was ist Portabel? Und wenn, warum halbwegs ^^
Ach auch wayne xD, bleiben wir lieber beim topic ^^
 
  • Char in int umwandeln? Beitrag #19
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Ne der Dreher ist mir wurscht. ^^ Was ist Portabel? Und wenn, warum halbwegs ^^
Ach auch wayne xD, bleiben wir lieber beim topic ^^
Portabel bedeutet einfach gesagt, daß ein Programm nicht nur unter Windows, sondern unverändert auch unter Linux läuft. Also plattformunabhängig ist.

Im Optimalfall schreibst Du Dein C-Programm und kannst es ohne irgendwelche Anpassungen unter Windows und Linux jeweils kompilieren und ausführen und es verhält sich auf beiden Plattformen gleich.

Der Haken an der Sache ist, daß man sich auf den kleinsten gemeinsamen Nenner beschränken muß. Also z.B. die Standard-C-Bibliothek. Benutzt Du statt atoi() nämlich StrToIn(), dann wird das Programm nur unter Windows funktionieren. Genauso steht es mit dem hier oft geposteten system("Pause").

Das Problem beschränkt sich nicht nur auf Windows <-> Linux. Weitere Quellen für Inkompatibilitäten sind 8 <-> 16 <-> 32 Bit <-> 64 Bit, Little Endian <-> Big Endian usw.
Hier steht noch bisschen was dazu: http://de.wikipedia.org/wiki/Plattformunabh%C3%A4ngigkeit

Für Programme, die nur Ein/Ausgabe machen, oder speziell für hardwarenahe Programmierung auf Embedded Systems ist C immer noch die Sprache der Wahl.
Soll das Programm aber mehr als Standard-I/O machen, empfehle ich Java. Das bringt eine unvergleichlich größere Bibliothek mit und die Programme laufen unverändert unter Windows und Linux.

Soll das Programm sowieso nur unter Windows laufen, dann ist C# und .NET die richtige Sprache.

Egal ob Java oder .NET. Schon einfach Dinge wie ein einfacher TCP-Server ist in C nicht ohne extra Libs möglich. In Java und .NET ist das eine Sache von ein paar Minuten.
 
  • Char in int umwandeln? Beitrag #20
R

retn

Bekanntes Mitglied
Dabei seit
04.10.2007
Beiträge
152
Reaktionspunkte
0
Du meinst Portabilität, Portierbarkeit net Portabel und zwar ganz, net halbwegs, genau xD.
Zudem auf CRT zurückzugreifen, nur um es lauffähig auf verschiedenen OSs zu machen, ist net gerade schlau.
Es ist ja net schwer ein Programm wissen zu lassen, welches OS läuft, dementsprechend brauch man sich in der API auch net zurückhalten.
Ebenso wird ein meist aufwendiges Prgramm eh in zwei Stables angeboten.
Ich find atoi auch toll ;) und für die hier erwähnte Anwendung, isses nun wirklich auch egal.

Für hardwarenahe Programmierung C? Das ist vll. bei Linux so und selbst da braucht man 100% die vom OS eingesetze API.

Yoa Java ist toll. Kann ich nur bestätigen. Aber ein TCP Server ist genauso schnell in C wie in Java geschrieben, zumindest ein simplen Multithread basierten Server. Gehts mit NIO oder ioctls los, da kann man sich mal gut nen Monat mit intensiv beschäftigen.

Greetz ^^
 
Thema:

Char in int umwandeln?

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben