Retroceder   Foros de ellos nunca lo harían > JUEGOS > Creación de juegos

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 08-04-2007, 07:35:15
Avatar de Danielk_dk
Danielk_dk Danielk_dk is offline
Senior Member
Fecha de Ingreso: Oct 2006
Ubicación: Antioquia - Colombia
Contactar con Danielk_dk a través de MSN Contactar con Danielk_dk a través de Yahoo
Predeterminado

<p>En C/C++ necesito una pequeña ayudita:</p>
<p>Necesito asignar a una variable un texto, por ejemplo: hola. Ya pude hacer que entrara por teclado, pero no puedo hacerlo directamente desde el código. ¿Alguien sabe cómo hacerlo? </p>
<p>Gracias.</p>
Responder Con Cita
  #2  
Antiguo 08-04-2007, 17:03:40
Avatar de Japofran
Japofran Japofran is offline
Admin
Fecha de Ingreso: Mar 2006
Ubicación: Valladolid, España
Predeterminado

En C las variables tipo cadena (string) son punteros. Probablemente no sepas todavía qué son los punteros... El caso es que la variable en sí no almacena el dato en sí, sino la dirección de memoria donde está. Al igual que el operador & devuelve la dirección de memoria de una variable, puedes usar el operador * para obtener el dato en una determinada dirección. ¿Parece que has usado la variable scanf()? A esa función hay que introducirle punteros, de ahí que las variables tipo cadena las introduzcas sin más pero los int, char, float, etc. deban ir precedidos por un operador &. También hay muchas funciones predefinidas en las librerías específicas para manipular cadenas, más o menos todas empiezan por "str..."

<p>Si esto suena complicado, mi consejo es que busques un tutorial --hay muchos por la red-- y lo vayas siguiendo paso a paso.
Responder Con Cita
  #3  
Antiguo 08-04-2007, 17:13:45
Avatar de Japofran
Japofran Japofran is offline
Admin
Fecha de Ingreso: Mar 2006
Ubicación: Valladolid, España
Predeterminado

Vamos que si no te he dado un ejemplo es porque hace siglos que no programo y no tengo un compilador instalado para comprobar si funciona. Pero si lo quieres lo más sencillo posible prueba esto. Imaginemos que la variable se llama "texto", entonces la habrás definido así:

<blockquote>char texto[N];</blockquote>

O así:

<blockquote>char *texto;</blockquote>

En este segundo caso deberías haber reservado un espacio en memoria por ejemplo con la función malloc(), aunque puede que no hayas llegado a eso todavía. En cualquier caso prueba esto para hacer lo que quieres:

<blockquote><b>*texto="hola";</b></blockquote>

Supongo que hasta ahora lo habrás intentado sin el *, entonces te daba error porque texto es un puntero y "hola" no es una dirección de memoria.
Responder Con Cita
  #4  
Antiguo 10-04-2007, 20:16:22
Avatar de Danielk_dk
Danielk_dk Danielk_dk is offline
Senior Member
Fecha de Ingreso: Oct 2006
Ubicación: Antioquia - Colombia
Contactar con Danielk_dk a través de MSN Contactar con Danielk_dk a través de Yahoo
Predeterminado

<p>Gracias!!!</p>
Responder Con Cita
Respuesta

Bookmarks

Herramientas
Desplegado

Normas de Publicación
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


Powered by: vBulletin, Versión 3.7.0
Derechos de Autor ©2000 - 2024, Jelsoft Enterprises Ltd.