Como te dice Coper, vas a tener problemas para hacerlo porque la memoria es de solo lectura pero dandole privilegios lo puedes lograr. Aparte de eso si la cadena nueva es mas grande que la vieja puedes tener problemas porque puedes sobreescribir otros datos, en tu caso esto no pasará ya que las dos cadenas son identicas.
Aquí te dejo como lograrlo:
saludos.
Aquí te dejo como lograrlo:
Código (c) [Seleccionar]
// Juan fary (mDrinky)
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void hacerIgualAChauMundo(char * cadena) {
char * adios = "Chau mundo";
DWORD ViejaPro;
VirtualProtect(cadena, strlen(adios),PAGE_READWRITE,&ViejaPro); // obtenemos derechos de acceso
memcpy(cadena,adios,strlen(adios)); // Copiamos nuestra nueva cadena
}
int main() {
char *cadena = "Hola mundo";
hacerIgualAChauMundo(cadena);
printf("%s\n",cadena);
return 0;
}
saludos.