Añadiendo un valor de estructura a una matriz de caracteres en C
Tengo un valor. Digamos que es
“`c++
dir->d_name;
<pre><code><br />Quiero agregar este valor a un array de caracteres
“`c++
char fileNames[100];
Creé un valor temporal de tipo char intentando asignar dir->d_name
c++
char temp_fileName;
temp_fileName = dir->d_name;
¿Cómo puedo hacer eso o tal vez debería convertir dir->d_name a char o cadena de caracteres?
Advertencia: la asignación de ‘char’ desde ‘char*’ hace un entero desde un puntero sin una conversión.
davy.ai
La advertencia sugiere que
dir->d_name
es un puntero a una matriz de caracteres (es decir, una cadena) y no se puede asignar a un solo carácter (char
). En su lugar, usastrcpy
para copiar el valor de la cadena enfileNames
:Alternativamente, puedes usar
strncpy
para copiar el valor de la cadena y especificar el número máximo de caracteres a copiar:Es importante asegurarse de que
fileNames
tenga suficiente espacio para almacenar el valor de la cadena, de lo contrario, podría resultar en un desbordamiento de búfer.