Perdonatemi l'intrusione, ma a me la stessa cosa non funziona ... Cioè mi tira fuori una stringa che non ci azzecca niente con quella che ho inserito. E' una questione di ambiente/compilatore ? Che io sappia il reinterpet_cast non sempre va a buon fine. Io questa cosa qui la farei con l'overload degli operatori, che è sicuro al 100%. Così:
codice:
struct esempio
{
	char *b;
        int a;
	friend ostream &operator<<(ostream &o, esempio a)
	{
		o << a.b << " " << a;
		return o;
	}
	friend istream &operator>>(istream &i, esempio a)
	{
		i >> a.b >> a;
		return i;
	}
};