cs_Nashua
Messages postés48Date d'inscriptionlundi 29 novembre 2004StatutMembreDernière intervention16 mars 2005 29 nov. 2004 à 07:53
int my_putstr ( int read_buf_len, char *read_buf, char *table){
// Je passe la longueur de read_buf pour eviter tout debordement
// ne pas oublier que read peu retourner -1 en cas d'erreur ( la condition du while est toujours vraie -):
// je passe aussi le pointeur sur le read buffer
// enfin le pointeur sur la table de reception
if (read buf_len > 0)
// check la longueur est strictement superieure a 0
// strncpy ne serait pas utile dans cet example vu que le read est de 1 mais il rend la fonction plus generique
if strncpy ( table, read_buf,read_buf_len ) > 0 ) return 0;
// la connexion avec ton code serait ainsi :
// cas du char *
char my_table[BUF_SIZE] ;
// cas du char ** le tableau
char *my_table[BUF_SIZE] ;
int n = 0;
while ((nb_read = read(fd, buffer_read, 1)) && ( n < BUF_SIZE))
{
// cas d'un char *
if (( my_putstr(1,buffer_read, &table[n++]) < 0 ) exit 1;
// cas d'un char **
// penser a "malloquer" la table
if (( my_putstr(nb_read,buffer_read, table[n++]) < 0 ) exit 1;
}