Tema: Ayuda en C
Ver Mensaje Individual
  #12 (permalink)  
Antiguo 13/08/2006, 13:47
N0vat0
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 18 años, 5 meses
Puntos: 0
He intentado aplicar lo q me enseñaste haciendo un hay cosas q no me funcionan.

Código:
#include<stdio.h> 
#include<stdlib.h>
#include<iostream.h>
void main()
{

char* d=(char*)malloc(sizeof(char)*8);
*d="ola";

cout<<"es"<<*d;
}
En este por ej, no me imprime la cadena "ola". No se puede utilizar asi un puntero? Hay que meter antes la cadena "Ola" en un array?

O en este otro.

Código:
#include<stdio.h> 
#include<stdlib.h>
#include<iostream.h>
void main()
{

char* d=(char*)malloc(sizeof(char)*8);
char cad[10]="ola";
d=cad; //guardamos en el puntero d la direc. de memoria del primer elem. del //array

cout<<*d;//imprimimos la cadena
getchar();

}
SI lo pongo asi, me devuelve solo el primer caracter de ola. O tb cuando hago:

char* d=(char*)malloc(sizeof(char)*8);
gets(d);

cout<<"es"<<*d;

Tb me devuelve el 1 caracter. Sin embargo cuando pongo "cout<<d" me devuelve la cadena entera.(en este ultimo me sigue devolviendo solo un caracter). Lo q no entiendo es por se pone entonces cout<<p; si p es una direccion de memoria, no el valor de la direccion de memoria a la k apunta el puntero.

Y este otro englobando funciones y punteros, como puse al principio, pero mejorado, bueno mejorado es un decir, pero al menos lo intente xD.

Código:
#include<stdio.h> 
#include<stdlib.h>
char funcion(char *e);
void main()
{
char cad[10];
gets(cad);

printf("es %c",funcion(&c); 
}

funcion(char *e)
{

char* j=(char*) malloc(sizeof(char)*10);
char cad2[10]="xxx";
j= strcat(e,cad2);
return *j;
}
Trato de imprimir el valor de la cadena q apunta el puntero de retorno de la funcion. "printf("es %d",funcion(&c,&d); " Se llama asi a la funcion? En la funcion trato de sumar las 2 cadenas.

Saludos.