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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  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 7,496 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:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
funcion System(const char* aString); ¿Se puede guerdar el valor de respuesta?
Programación C/C++
astinx 3 2,863 Último mensaje 26 Febrero 2012, 01:11 am
por Eternal Idol
Pasar de const char* a int
Programación C/C++
eleon 4 4,991 Último mensaje 15 Junio 2012, 16:09 pm
por durasno
Como pasar una cadena char a hexadecimal por argumento a un constant char?
Programación C/C++
ahaugas 3 4,834 Último mensaje 13 Enero 2013, 14:09 pm
por ahaugas
Pasar tipo const char* a char « 1 2 »
Programación C/C++
jorge_hura 15 10,610 Último mensaje 25 Julio 2013, 09:50 am
por Eternal Idol
Error const char no es compatible con LPCWSTR. « 1 2 »
Programación C/C++
NikNitro! 12 13,426 Último mensaje 30 Abril 2014, 22:43 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines