Printing from a buffer using the read(2) function in C -


i'm trying read in bits using read function , i'm not sure how i'm supposed printf results using buffer.

currently code fragment follows

 char *infile = argv[1];  char *ptr = buff;  int fd = open(infile, o_rdonly); /* read */  assert(fd > -1);  char n;  while((n = read(fd, ptr, size)) > 0){ /*loops reads file                                until returns empty */    printf(ptr);  } 

the data read ptr may contain \0 bytes, format specifiers , not \0 terminated. reasons not use printf(ptr). instead:

// char n; ssize_t n; while((n = read(fd, ptr, size)) > 0) {    ssize_t i;   (i = 0; < n; i++) {     printf(" %02hhx", ptr[i]);     // on older compilers use --> printf(" %02x", (unsigned) ptr[i]);   } } 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -