Hola que tal, bueno lo puedes hacer asi:
Para C#:
Int32 nValor = 0;
nValor = Convert.ToInt32( reader[0].ToString());
Para C++ ( El reader pasarlo directo al string no se si esta bien, pero esa seria la idea

, por que no e ocupado pasar valores directo de un reader. Pero el atoi si funciona )
CString sDato = "";
int nValor = 0;
sDato.Format("%ld",reader[0]);
sDato.Trim();
nValor = atoi(sDato);
atoi => Enteros
atol => Longs