Cześć! Nie znalazłem w dokumentacji gettera, zwracającego dostęp do wskaźnika na zaalokowaną tablicę, więc raczej napisanie przeciążonego operatora odpada.
Jeśli możesz spróbuj wczytać tekst do klasycznego stringa z biblioteki standardowej, a później, jeśli będziesz tego potrzebować przekonwertuj go na AnsiString, korzystając z metody c_str().
Możesz napisać dla tej operacji odpowiednią funkcję.
Przykładowy kod:
AnsiString get_Word_From_File( char* file_Path )
{
std::string temp_Buffer;
std::ifstream m_File( file_Path, std::ifstream::in );
m_File >> temp_Buffer;
m_File.close();
return AnsiString( temp_Buffer.c_str() );
}
Nie jest to zbyt eleganckie, ale być może wystarczy - przerób twoją funkcję w odpowiedni sposób. Może to wyglądać tak:
void pobierz()
{
std::string a, b;
pliczek >> a >> b;
tlumaczenie = a.c_str();
slowo = b.c_str();
}
@Edit:
Jeszcze wyjaśnienie - AnsiString oraz String, to klasy bibliotek dostępnych w Builderze. Klasę String deklaruje się z dużej litery, aby nie kolidowała ze stringiem z biblioteki standardowej. Oba obiekty nie są kompatybilne ze strumieniami dostępnymi w C++, a w dokumentacji nie ma funkcji zwracającej wskaźnik na łańcuch znaków - gdyby taka istniała, wystarczyłoby napisać jedną funkcję, definiującą zachowanie dla operatora >> z argumentami referencji strumienia ifstream oraz AnsiString. Niestety takowa nie istnieje, więc musimy się posłużyć konstruktorem, przyjmującym łańcuch znaków C, bądź operatorem przypisania, który także przyjmuje łańcuch znaków.
Sam nie korzystam z Buildera, ale mam nadzieję, że pomogłem!
Pozdrawiam! ;)