Zum Inhalt springen

Variablen von char[x] in unsigned char *


Empfohlene Beiträge

Geschrieben

Hi, ich hab ein Problem mit Variablen.

In einem Header von einem Hersteller wird eine Konstante mit "define" definiert:

#define SQLILRL "RL"

Wenn ich diese Variable im Programm verwende, kommt folgende Fehlermeldung:

: error C2664: '_mbscat' : Konvertierung des Parameters 2 von 'unsigned char' in 'const unsigned char *' nicht moeglich

Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat

Kann mir wer helfen, und mir sagen, wie ich die Variable Konvertieren muss?

Geschrieben

Es handelt sich hier nicht um eine Konstante sondern um eine Symbol-Konstante. Der mit #define definerte Wert wird nicht als Speicheradresse initialisiert, sondern ruft nur ein Compiler-Replace hervor.

Wie sieht den deine Referenz aus?

Du musst vermutlich den Aufruf, oder die Definition ändern.

Geschrieben

Schön, aber wie ist nSqlCode deklariert, von welchem Typ erwartet es den 2. Parameter ???

String-Literale sind immer vom Typ const char* (nix anderes ist das durch den preproz eingesetzte "RL"), das scheint ja nicht zu passen :confused:

Geschrieben

Das Problem ist, das sowohl die Funktion sqlsil wie auch nSQLCode von dem Hersteller vordefiniert sind, und ich diese leider net ändern kann, ich habe auch keine Informationen was die Funktion tut, kenne nur den Übergabeparameter (eben unsigned char *, der erste ist unsigned short) und weiß was ich mit dem Return anfangen soll...

Ich brauch eigentlich nur ne Funktion, die mir aus dem SQLILRL ein unsigned char macht...

Vielleicht kann mir trotzdem jemand helfen, ich kenn mich mit C++ net so aus, und interessier mich eigentlich net dafür, nur muss ich mich damit in der Firma damit beschäftigen...

Geschrieben

cast it, baby:


nSqlCode = sqlsil (g_SqlCur, [b](unsigned char*)[/b] SQLILRL);

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> (...) ich kenn mich mit C++ net so aus, und interessier mich eigentlich net dafür, nur muss ich mich damit in der Firma damit beschäftigen...

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Bartleby:

<STRONG>@Captain: Ich hab während der Ausbildung festgestellt, daß diese Branche nicht das ist, was ich machen will :(, nun such ich was anderes...</STRONG>

Geschrieben

Naja, solange sich die char-Werte in den symbolischen Konstanten alle innerhalb von ASCII-7 bewegen, also c <= 127, sollte durch den cast kein Verdreher auftreten.

@bartleby:

schau dir die #defines an, wenn keine Umlaute/Sonderzeichen oberhalb ascii(127) vorkommen, besteht keine Gefahr.

Geschrieben

Ich sagte doch schon, daß es funktioniert, habe nun nur noch ein paar Probleme mit "Doppeldefinitionen" wegen diverser HEader, aber das krieg ich auch noch irgendwie hin... :)

Thx anyway

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...