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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  copiar caracteres en una cadena
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: copiar caracteres en una cadena  (Leído 22,786 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
copiar caracteres en una cadena
« en: 8 Julio 2010, 04:24 am »

hola gente quisiera que me digan de que manera podria copiar caracteres en una cadena por ejemlo quiero copiara la letra "a" en una cadena ....

strncpy(Arreglo[i++],"a",1)----->seria de esta forma o de que manera para copiar la a dentro del arreglo...gracias de antemano 


En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: copiar caracteres en una cadena
« Respuesta #1 en: 8 Julio 2010, 04:28 am »

mapers, te dejo un link que te puede servir...

http://c.conclase.net/librerias/?ansifun=strncpy

Salu10.


En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: copiar caracteres en una cadena
« Respuesta #2 en: 8 Julio 2010, 06:25 am »

Código
  1. strncpy(arreglo[celda],"a",1)

Así mismo, no varía mucho de lo que tu escribiste.

E intenta poner códigos completos, para comprender mejor lo que deseas hacer.
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: copiar caracteres en una cadena
« Respuesta #3 en: 8 Julio 2010, 06:46 am »

lo que quiero hacer es copiar el caracter a 100 veces en el arreglo de esa manera


Código
  1. for(i=0;i<100;i++)
  2. {
  3. strncpy(Arreglo[j++],"a",1);
  4.  
  5. }
  6.  
En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: copiar caracteres en una cadena
« Respuesta #4 en: 8 Julio 2010, 06:50 am »

100 veces en una celda o 1 vez en 100 celdas? Especifica xD

Para lo 2º:
Código
  1. for ( cont=0 ; cont<100 ; cont++ )
  2. {
  3.    strncpy (vector[cont], "a", 1);
  4. }
En línea

mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
Re: copiar caracteres en una cadena
« Respuesta #5 en: 8 Julio 2010, 06:52 am »

1 ves en 100 celdas
En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: copiar caracteres en una cadena
« Respuesta #6 en: 8 Julio 2010, 06:55 am »

1 ves en 100 celdas

Ya te he dejado el code arriba  :xD

También lo puedes hacer sin strncpy

Código
  1.  
  2. for ( cont =0 ; cont <100 ; cont++ )
  3. {
  4.    vector[cont] = num;
  5. }
  6.  
  7.  

Aun que esto es para enteros claro
En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: copiar caracteres en una cadena
« Respuesta #7 en: 8 Julio 2010, 06:58 am »

 :o.

Que se supone que es "arreglo"? es una matriz o un vector? ten en cuenta que el primer parámetro de strncpy es char*. Si "arreglo" es una cadena, haciendo arreglo[cont] estas refiriéndote a un char.

Código
  1. for(int i=0;i<MAX;i++)
  2.     arreglo[i]='a';

Lean sobre manejo de cadenas.

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: copiar caracteres en una cadena
« Respuesta #8 en: 8 Julio 2010, 07:09 am »

:o.

Que se supone que es "arreglo"? es una matriz o un vector? ten en cuenta que el primer parámetro de strncpy es char*. Si "arreglo" es una cadena, haciendo arreglo[cont] estas refiriéndote a un char.

Código
  1. for(int i=0;i<MAX;i++)
  2.     arreglo[i]='a';

Lean sobre manejo de cadenas.

Saludos

No se si asignar directamente un carácter a una cadena es buena práctica, pero a mi en clase (Con borland c++ 3.1) me ha dado problemas, por eso siempre acababa usando strncpy.. (Es cosa del compilador?
En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: copiar caracteres en una cadena
« Respuesta #9 en: 8 Julio 2010, 07:23 am »

Es que de la forma que planteaste es imposible usar strncpy, porque le pasas un char como parámetro cuando el esperado es char*.

No hay ningún problema en asignar caracteres de esa forma, porque haciendo "arreglo[i]" te referís a una posición del vector, no a toda la cadena.

La única forma de usar strcpy como plantean es que "arreglo" sea un arreglo de punteros, pero según veo no es el caso.

Suponiendo que "arreglo" es una cadena (char[]), la única forma de usar strcpy junto con la sintaxis de arreglos, es pasando la dirección de memoria de dicha posicion. Algo así:

Código
  1. strcpy(&array[5],"a");

Con lo cual strcpy comenzaría a copiar desde la posición expuesta. En este caso no tiene mucho sentido hacer algo así, ya que asignar caracteres a posiciones de un vector es perfectamente valido. Lo que es invalido es asignar dos cadenas (char[], por lo menos en C, no sucede lo mismo con strings en C++/STL).

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema la copiar cadena con strcpy
Programación C/C++
NeoB 2 5,664 Último mensaje 17 Enero 2012, 17:52 pm
por NeoB
copiar caracteres uno a uno « 1 2 3 »
Programación C/C++
bash 22 8,690 Último mensaje 26 Mayo 2015, 04:13 am
por bash
[C] Copiar arreglo de caracteres con Operador Igual
Programación C/C++
AlbertoBSD 8 4,494 Último mensaje 25 Junio 2016, 11:40 am
por fary
Copiar caracteres
Programación C/C++
Dato Vagabundo 3 2,581 Último mensaje 5 Octubre 2017, 03:51 am
por engel lex
c /copiar solo caracteres numericos de una cadena alfanumerica a otra
Programación C/C++
Renata94 3 2,492 Último mensaje 4 Mayo 2019, 16:06 pm
por CalgaryCorpus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines