Hola,
en c++ existe una función que es la strcpy(destino, origen) donde ambos parámetros son cadenas de caracteres y de esta manera solucionas el problema de la asignación con este tipo de datos.
Le hago unas observaciones a tu código
Código c++:
Ver original#define n 100
struct r_articulo
{
int cod_art;
char nom_art[65];
int can_art;
float precio_art;
};
r_articulo articulo[n];
int main
{
cout << "INGRESE EL CODIGO: ";
cin>> articulo[0].cod_art;
cout << "INGRESE EL NOMBRE: ";
cin>> articulo[0].nom_art; //aqui como se trata de una cadena de caracteres
//también puedes usar el gets(articulo[0].nom_art)
// y te tomará incluso los espacios en blanco
cout << "INGRESE LA CANTIDAD: ";
cin>> articulo[0].can_art;
cout << "INGRESE EL PRECIO: ";
cin>> articulo[0].precio_art;
}
De esta manera te evitas la cuestión de la asignación y además creando nuevas variables que lo único que hacen es ocupar espacio en memoria, pudiendo hacerlo sin crearlas. Espero te sea de ayuda.
Pdta.: La función se encuentra en la librería string.h