Cómo insertar una nueva línea en un recv en C

Escribo este código para enviar la lista de contenidos de archivos en una carpeta desde un servidor para verlo en un cliente. El código funciona, pero veo todos los archivos sin una nueva línea. ¿Cómo puedo ver los archivos con una nueva línea o espacio? Por ejemplo, ahora veo: “file1.txtfile2.txtfile3.txt” y vería “file1.txt file2.txt file3.txt”

¡Gracias!

DIR *dp; int rv, stop_received; struct dirent *ep; dp = opendir ("./"); char *newline="\n"; if (dp != NULL) { while (ep = readdir(dp)) rv = send(conn_fd, ep->d_name, strlen(ep->d_name), 0); (void)closedir(dp); } else perror ("Couldn't open the directory"); close(conn_fd); 

Fácil, declara una nueva línea como esta.

 char newline = '\n'; 

y enviarlo

 rv = send(conn_fd, &newline, 1, 0); 

Así que si quieres enviar el nombre del directorio y una nueva línea después de él, hazlo de esta manera

 char newline; newline = '\n'; while (ep = readdir(dp)) { size_t length; length = strlen(ep->d_name); rv = send(conn_fd, ep->d_name, length, 0); if (rv != length) pleaseDoSomething_ThereWasAProblem(); rv = send(conn_fd, &newline, 1, 0); /* ... continue here ... */ }