![]() |
Manejar variable
Buenas:
Me da error de este código: Error C4996 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. El código es en C++ nativo: Código:
#include <iostream>Saludos. |
has probado a usar strcpy ? (pero recuerda que strcpy acepta puntero a char solamente)
Código:
strcpy(lectura, "ON - Led encendido."); // Simulando la lectura. |
lo que no entiendo muy bien es porque haces esto:
Código:
lectura[n] = '\0'; // Asegúrate de terminar la cadena. |
El código mostrado en si mismo es inútil, parece tomado de un fragmento de ejemplo.
En principio muestra un buffer de cadena llamado lectura con tamaño 50. lectura[n] = '\0' sólo sirve para asegurar que si la cadena llega a tener n caracteres, el último sea un nulo, es una exigencia de las cadenas C, pero n sebe ser menor que 50 (máximo tamaño del buffer) En este caso, asegúrate que el caracter n-1 es el último no nulo. El error mostrado es un aviso sobre la función strncpy. Esta función realiza una copia de una cadena a otra con un número máximo de caracteres copiados o hasta el final de la cadena a copiar si no se alcanza el límite. Si ponemos un límite mayor a 50 tendremos un desbordamiento. El aviso sugiere que lo desactives o que uses la función strncpy_s que pide también el tamaño de la cadena destino y es más segura. ¿Qué compilador estás usando? Cuando no se sabe de antemano el tamaño de la cadena buffer, es buena idea asignarle uno grande y controlar que no se desborda o asignarlo dinámicamente una vez que se conozca. Si se supone que vas a recibir n caracteres, reserva dinámicamente un buffer de n+1 caracteres (el último debe ser cero) y usa una función tipo strncpy o strncpy_s para asegurar que no vas a sobrepasar el límite. Al terminar, recuerda liberar la memoria asignada si fue dinámica. Saludos. |
| La franja horaria es GMT +2. Ahora son las 21:45:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi