strcpy
Apariencia
Función incluida dentro del archivo de cabecera de constantes string.h del lenguaje de programación C.
Prototipo
[editar]char *strcpy ( char *destino, const char *origen );
Parámetros
[editar]char *destino
char *origen
Descripción
[editar]Copia la cadena apuntada por origen en la cadena apuntada por destino.
Ejemplo
[editar]char * origen = "Hola mundo"; //Se inicializa la variable origen con el valor indicado
char destino[strlen(origen)+1]; //El puntero destino debe contener suficiente espacio para copiar sobre la zona de memoria a la que apunta, la cadena apuntada por origen
strcpy (destino, origen); // Después de realizar esta operación la variable ''destino'' tendrá el valor "Hola mundo"
Ejemplos en C++
[editar]#include <iostream>
#include <cstring>
using namespace std;
int main(){
float venta[100], auxV, suma=0;
char vendedor[100][30], aux[30];
int i, j, n;
cout << "Ingrese la cantidad de Vendedores:";
cin >> n;
for (i = 0; i < n ; i++){
cout << "Vendedor "<<i+1<<endl;
cout << "Nombre Vendedor:";
cin >> vendedor[i];
cout << "Importe de su Venta:";
cin >> venta[i];
suma += venta[i];
}
for(i = 0; i < n-1; i++)
for(j = i+1; j < n; j++)
if (venta[i] > venta[j]){
auxV = venta[i];
venta[i] = venta[j];
venta[j] = auxV;
strcpy(aux, vendedor[i]);
strcpy(vendedor[i], vendedor[j]);
strcpy(vendedor[j], aux);
}
cout << "Venta Maxima: " << venta[n-1] << " Realizado por " << vendedor[n-1] << endl;
cout << "Venta Minima: " << venta[0] << " Realizado por " << vendedor[0] << endl;
cout << "Venta Promedio:" << suma << endl;
cin.get();
return 0;
}
- OpenBSD dispone de una versión más segura llamada strlcpy: una variante de strlcpy que trunca el resultado para que quepa en el búfer de destino[1]
Referencias
[editar]- ↑ Miller, Todd C.; De Raadt, Theo (6 de junio de 1999). strlcpy and strlcat - Consistent, Safe, String Copy and Concatenation. USENIX Annual Technical Conference. Monterey, California. Consultado el 13 de diciembre de 2011.