elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  (Ayuda) Error al modificar el valor de un char en una cadena const char *
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Ayuda) Error al modificar el valor de un char en una cadena const char *  (Leído 4,361 veces)
Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
(Ayuda) Error al modificar el valor de un char en una cadena const char *
« en: 2 Julio 2015, 14:46 pm »

Hola, muy buenas a tod@s. Me estoy desesperando con Visual Studio 12.0 Express. El error se resume en un código muy simple:

Código
  1. int main() {
  2. const char *code;
  3. code = new char[2];
  4. code[0] = 'a'; // Aquí está el error
  5.  
  6.        return 0;
  7. }

Como ven, primero creo una cadena de caracteres. Por consiguiente, la inicializo con el operador new. Y por último, el lugar donde está el error. El error según Visual Studio dice así: "Error: La expresión debe ser un valor L modificable". También he probado lo siguiente:

Código
  1. *code = 'a'

No entiendo lo que pasa. A lo mejor es una tontería...

Espero que me puedan ayudar. Gracias


En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
user-marcos

Desconectado Desconectado

Mensajes: 159


Ver Perfil
Re: (Ayuda) Error al modificar el valor de un char en una cadena const char *
« Respuesta #1 en: 2 Julio 2015, 14:55 pm »

Las constantes no cambian de valor, quita const y te funcionará


En línea

Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
Re: (Ayuda) Error al modificar el valor de un char en una cadena const char *
« Respuesta #2 en: 2 Julio 2015, 14:58 pm »

Vale, funciona. Pero lo que era constante no era el puntero? Es decir, la dirección es constante y lo que es apuntado se puede modificar? O al revés? Gracias
En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
user-marcos

Desconectado Desconectado

Mensajes: 159


Ver Perfil
Re: (Ayuda) Error al modificar el valor de un char en una cadena const char *
« Respuesta #3 en: 2 Julio 2015, 15:09 pm »

Cierto mira:
Código
  1. int main() {
  2. const char *code;
  3. code = new char[2];
  4. code = (char *) "ad";
  5. cout << code;//ad
  6.        return 0;
  7. }
  8.  
si quieres guardar sólo a, si no recuerdo mal tienes que especificar el tamaño.
En línea

Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
Re: (Ayuda) Error al modificar el valor de un char en una cadena const char *
« Respuesta #4 en: 2 Julio 2015, 15:17 pm »

Vale, muchas gracias!
En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines