Asc() funktion bei C++

Hi,

ich bin normalerweise ein VB-Programmierer und muss im Moment eine C-Dll mit VC6 schreiben.

Dabei muss ich einen String in seine Einzelteile zerlegen und zu jedem Zeichen den passenden ASCII-Wert zurückgeben, wobei letzteres das eigentliche Problem darstellt.

Unter VB erledigt das die Asc()-Funktion, der man als Argument den String mitgiebt und die dann den Ascii-Wert als Integer zurückgibt (z.B. AsciiWert = Asc(„n“)).
Als Gegenpart gibt es die Chr()-Funktion.

Nun muss ich leider C verwenden und dort scheint es mir nicht so einfach zu gehen. Ich habe mich schon mehrere Stunden im Internet umgeschaut nach einer passenden Funktion gesucht, bin aber nicht fündig geworden.

Daher wäre ich sehr dankbar wenn mir jemand den Namen einer solchen Funktion verraten könnte…

mfg
Frederic

Hallo,

Unter VB erledigt das die Asc()-Funktion, der man als Argument
den String mitgiebt und die dann den Ascii-Wert als Integer
zurückgibt (z.B. AsciiWert = Asc(„n“)).
Als Gegenpart gibt es die Chr()-Funktion.

Nun muss ich leider C verwenden und dort scheint es mir nicht
so einfach zu gehen.

Falsch, es geht sogar einfacher :wink:

In C ist ein String ein Array von chars, und wenn ein char ist eine Zahl von -128 bis 127 (signed) oder 0 bis 255 (unsigned).

Wenn du den Zahlenwert willst, musst du es nur als Zahl benutzen. Ein Beispiel:

#include 

int main(int argc, char\*\* argv){
 char Zeichen = 'A';
 printf("%d\n", (int) Zeichen);
 /\* Ausgabe: 65 \*/
}

Du musst also im Zweifelsfall nur mit (int) oder (unsigned int)oder so casten.

Grüße,
Moritz

Hallo,

ich bin normalerweise ein VB-Programmierer und muss im Moment
eine C-Dll mit VC6 schreiben.

OK

Dabei muss ich einen String in seine Einzelteile zerlegen und
zu jedem Zeichen den passenden ASCII-Wert zurückgeben, wobei
letzteres das eigentliche Problem darstellt.
Unter VB erledigt das die Asc()-Funktion, der man als Argument
den String mitgiebt und die dann den Ascii-Wert als Integer
zurückgibt (z.B. AsciiWert = Asc(„n“)).
Als Gegenpart gibt es die Chr()-Funktion.

OK

Nun muss ich leider C verwenden und dort scheint es mir nicht
so einfach zu gehen. Ich habe mich schon mehrere Stunden im
Internet umgeschaut nach einer passenden Funktion gesucht, bin
aber nicht fündig geworden.

Wie schon gesagt wurde ist das in C sehr sehr einfach.

Anders gefragt: Wie würde denn die Funktion von
VB aus aufgerufen werden, kannst Du ein kurzes
Beispiel angeben, wie diese Funktion dann *konkret*
verwendet wird oder werden würde (in Basic). Danach
kann man dann gemeinsam eine Funktion in C basteln,
die exakt das tut, was Du Dir wünschst.

Grüße

CMb