Tak jak koledzy piszą, dziwne zachowanie wxMessageBox jest spowodowane brakiem zera kończącego napis.
Same dane są wczytywane poprawnie, szwankuje jedynie ich wypisywanie - wxMessageBox nie widzi zera kończącego, więc pisze znaki z pamięci dopóty, dopóki na nie nie trafi lub nie spowoduje segmentation fault.
Żeby dane były poprawnie wyświetlane, musisz zwiększyć bufor o jeden znak i wpisać tam ręcznie zero - a właściwe dane i tak zawsze wpisywać tylko w dwie pierwsze komórki tablicy. W ten sposób poprawny napis zostanie wyświetlony przez wxMessageBox.
wxFile ppp;
ppp.Open( wxT("ppp.txt"), wxFile::read );
char ppp1[3];
ppp1[2] = '\0';
while ( !ppp.Eof() )
{
if(ppp.Read( ppp1, 2 ) == 1) ppp1[1] = '\0';
wxMessageBox(ppp1);
}
ppp.Close();
A powiedz mi, co dokładnie chcesz zrobić, może (jutro, bo dziś muszę już spadać) pomogę? :)