Como hago un scanf de un miembro de una clase?

Iniciado por Rogerta97, 9 Abril 2016, 18:09 PM

0 Miembros y 1 Visitante están viendo este tema.

Rogerta97

Basicamente és eso, mi codigo és el siguiente:
class.h:

class B{
public:
     const char* string;
}


main:
#include "class.h"

int main{
B my_class;
scanf_s("%s", &my_class.string);

return 0;

}

class_OpenGL

Se hace igual de como si se tratase de una variable normal. Simplemente tienes que tener en cuenta que const char* ya es un puntero, por lo que no tienes que pasar el puntero de ese puntero. scanf_s("%s", &my_class.string);  Te sobra un &

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL

ivancea96

Como detalle, ten en cuenta que si quieres leer cadenas de texto con %s le tienes que pasar un char* que apunte a un bloque de memoria ya reservada. scanf no te reservará memoria así.

MAFUS

Y como es C++, por lo de las clases, string es el tipo de una clase. No creo que C++ tenga mecanismos, como C#, como para poder usar el nombre de una clase como variable.

ivancea96

Mientras no incluya las cabeceras que declaran la clase, y habiendo hecho esto, mientras que no ponga el "using" o "using namespace" para std, todo irá bien.