[BCB] String to Char

Tec

Grünschnabel
hi, mein pronlem ist folgendes:

ich will StrPos nutzen aberd as braucht ja 2mal char:
extern PACKAGE char * __fastcall StrPos(const char * Str1, const char * Str2)

aber ich lese aus
Code:
Memo1->Lines->Strings[i]
aus und das ist ja typ String
wie wandele ich nun String in Char um?
 
ein cast ist eine typconvertierung einer variablen.

Code:
#include <iostream>

using namespace std;

int main ( void )
{
     float pi = 3.1415;
     int daumen = 10;
     int erg = ( int ) pi * daumen;      // das in den klammern ist ein cast!

    cout << erg << endl;
    
    return 0;
}

du verlangst, das pi NICHT als float verwendet wird, sondern explizit als INT.

ich weiss allerdings nicht ob das bei deinem Problem weiterhilft.
Poste doch mal bitte den entsprechenden teil aus deiner source.
 
äh kommt drauf an welchen string zu meinst...

(es gibt 2...)

entweder du mein CString ... (MFC)
dann benutzt du einen typecast nach LPCTSTR (der operator is in CString überladen)...

also char* data = (LPCTSTR) MyString;

oder wenn du std::String benutzt... (aus der STL)
dann benutzt du die member funktion c_str()

also char* data = MyString.c_str();
oder char* data = MyString->c_str(); wenn du einen pointer hast...


wie gesagt je nachdem ob du mit MFC oder mit STL arbeitest sind strings unterschiedlich zu behandeln... aber es is eigendlich um einiges besser gleich mit den char[]s zu arbeiten, die lassen sich nämlich sauber in char* convertieren (sogar ohne typecast)


also ich hab eben nochmal die eine zeile von dem code den du gepostet hast angesehen ... so wies aussieht is das MFC...
entsprechend sollte es so gehen...
((LPCTSTR)Memo1->Lines->Strings[ i])
 
Tec hat gesagt.:
hi, mein pronlem ist folgendes:

ich will StrPos nutzen aberd as braucht ja 2mal char:
extern PACKAGE char * __fastcall StrPos(const char * Str1, const char * Str2)

aber ich lese aus Memo1->Lines->Strings[ i ] aus und das ist ja typ String
wie wandele ich nun String in Char um?

würde ggf. darüber nachdenken, warum hier eine c-funktion nötig ist...
der rest sieht mir nach c++ aus...
um dem stil treu zu bleiben:
Code:
Memo1->Lines->Strings[i].Pos("was du suchst...");

liefert die position des suchtextes zurück...
einfach mal die hilfe für ansistring lesen und freuen...

upo
 
Zurück