Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.06.2008, 14:53

[WinApi] char nach int und umgekehrt, aber wie?

ich lese einen zahl aus einer editbox ein, die wird in char szTExt[256] gespeichert, nun möchte ich diese in int haben um mit ihr weiter zuarbeiten, am ende soll int a nach char szText1[256] konvertiert werden damit ich die zahl dann wieder ausgeben kann. ich komm aber damit iwie nicht klar, mit atoi() hats bei mir auch nicht geklappt....

hier der code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        case ID_BTN_UEBERNEHMEN:
        {
          char szText[256];
          char szText1[256];
          int a;

          // Text aus der Editbox holen

          GetWindowText (hEditBox, szText, 256);

          //hier soll dann der wert aus der editbox herrausgelesen werden, d.h. szText soll in int a umgewandelt werden

          //anschliessend soll int a wieder nach szText1 umgewandelt werden





          SetWindowText (hText, b);

          return (0);

        }

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

2

28.06.2008, 14:58

Sagen dir C++ Casts etwas?

static_cast<TYP>Typumwandlung

Das bedeutet aber natürlich,dass zum Beispiel bei der Konvertierung von int to char nur die Bits mit nierdigeren Werten übernommen werden..der Rest wird verworfen..

3

28.06.2008, 14:58

Also mit atoi sollte das eigentlich gut gehen, wie hast du es denn versucht? Evtl. ist was mit den Zeiger schiefgegangen oder so.

Ansonsten könntest du das hier benutzen:
http://www.boost.org/doc/libs/1_35_0/libs/conversion/lexical_cast.htm
Lieber dumm fragen, als dumm bleiben!

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

4

28.06.2008, 15:00

Ups hab ich ihm was falsches gesagt xD?

5

28.06.2008, 15:04

oje oje von casts hab ich noch nie was gehört^^

also mit atoi, atof wollen die kein char annemehn deshlab hab ichs so gemacht:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
char szText[256];
char szText[256];
int a;
std::string b;

b = szText[256]  //vllt ist hier ja was falsch o.O


a = atoi(b.c_str());

szText1[256] = a;         //des darf man so machne oder?


          SetWindowText (hText, szText1, 256);

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

28.06.2008, 15:09

Wieso nicht einfach:

C-/C++-Quelltext

1
a = atoi( szText );
@D13_Dreinig

7

28.06.2008, 15:17

cool :D thx des klappt jetzt super aber:

es gehen zahlen nr bis 9 ;( dan kommen iwie buchstaben etc...

hab hier mal auf gut glück itoa ausprobiert:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
          char szText[256];
          char szText1[256];
          int a;

          // Text aus der Editbox holen

          GetWindowText (hEditBox, szText, 256);


          a = atoi (szText);

          

          itoa(a,szText1,256);





          SetWindowText (hText, szText1);


hab nicht wirklich ahnung was itoa ist^^ int to ascii eigentlich oder?
aber warum zeigt er mir die zahlen 0 -9 richtig an dan kommen buchstaben und sonderzeichen o.O

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

28.06.2008, 15:19

Versuchs mit:

C-/C++-Quelltext

1
itoa(a,szText1,10); 
@D13_Dreinig

Anonymous

unregistriert

9

28.06.2008, 15:20

suchen nach "lexical_cast" und freuen ;)

10

28.06.2008, 15:22

so atoi und itoa klappen einwandfrei größten dank für die schnelle hilfe :)

Werbeanzeige