Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Solo una pekeña dudilla

Estas en el tema de Solo una pekeña dudilla en el foro de C/C++ en Foros del Web. Ola tengo una dudilla. CUando yo leo desde la linea de comandos por ejemplo una palabra, luego para pasarla a otra cadena por ejemplo ago. ...
  #1 (permalink)  
Antiguo 03/09/2008, 14:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 25
Antigüedad: 15 años, 8 meses
Puntos: 0
Solo una pekeña dudilla

Ola tengo una dudilla. CUando yo leo desde la linea de comandos por ejemplo una palabra, luego para pasarla a otra cadena por ejemplo ago.


char cadena[100];
char* puntero,
int i;


//suponiendo ke la cadena esta en argv[1] aria:
puntero=argv[1];
{for (i=0;*puntero!='\0';i++);
cadena[i]=*puntero;
}
//pero luego al intentar imprimirla ago :

printf("%s",cadena);



el problema lo tengo en ke los programas ke lo e exo funcionan correctamente, pero la cadnea la imprimen con dos simbolos mas al final.

El error se tiene ke deber a ke ago en condcion de continuacion dentro del for pongo ;*punteo!='\0';y debe ser ke coge un terminador o algo.

No se como puedo acer para ke n lo coja y me imprima las cadenas solo no dos simbolos de mas.
Me explicado?Ayuda porfa
  #2 (permalink)  
Antiguo 03/09/2008, 14:23
Avatar de WaRc3L  
Fecha de Ingreso: agosto-2008
Ubicación: My House
Mensajes: 89
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Solo una pekeña dudilla

Mira, puedes combinar punteros con matrizes, tienes razon, el error lo tienes en el for, se haria asi:

for ( int i=0;puntero[i]!='\0';i++);

Se puede combinar punteros con matrizes, prueva de hacer esto, seguro que te funciona.

Saludos! y si no entiendes algo, comentame!
__________________
Habla tu lenguaje favorito! Habla C++!
  #3 (permalink)  
Antiguo 03/09/2008, 20:02
 
Fecha de Ingreso: agosto-2008
Mensajes: 25
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Solo una pekeña dudilla

No, el problema perisiste.
No se si me explique, al decirle ke imprima %s cadena, me saca la cadena pero con dos simbolos mas.Aora solo lo ace en la primera porke soluucione uns errores ke me encontre.
No se porke lo ace, compilenlo y vean si pueden.
Gracuas 1 saludo
  #4 (permalink)  
Antiguo 04/09/2008, 12:08
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 10 meses
Puntos: 28
Respuesta: Solo una pekeña dudilla

Toma en cuenta que con el ciclo for que planteas no le asignas el caracter '\0' al final de la cadena, esto es necesario para indicar el final de la misma.

Código:
for (i=0; puntero[i]!='\0'; i++);
   cadena[i]=puntero[i];
cadena[i]='\0';
Aunque para copiar la cadena yo usaría strcpy.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #5 (permalink)  
Antiguo 06/09/2008, 18:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 25
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Solo una pekeña dudilla

muxas gracias esto ultimo me lo soluciono.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:39.