Re: Division in loop
Manish Katiyar <[email protected]>
| Newsgroups | org.kernel.vger.linux-c-programming |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Sep 10, 2009 at 12:31 PM, Randi Botse <[email protected]> wrote: > Thanks Glynn for let me know that the void* pointer arithmetic is > undefined, and gcc automatically cast it to char* pointer... is this > because void* doesn't have a size? void * or any pointer for that matter will have a size fixed based on your platform ie... 4 for x86 and 8 for x86_64. > im curious when i do sizeof(void*), > my machine tell me sizeof(void*) is 4kb That is 4 bytes and not 4KB. > ... i thnk when i do (void* + > 1) that's means "4 kb after void*"?.... > > i run the code in GNOME terminal, that's means stdout connected to xterm? > > > On Thu, Sep 10, 2009 at 7:46 AM, Glynn Clements > <[email protected]> wrote: >> >> Randi Botse wrote: >> >>> void *buffer; /* buffer, will be allocated */ >>> ... >> >>> ret = read(fdp, buffer + bytes, stat.st_size - bytes); >> >> Pointer arithmetic on a void* is undefined. gcc allows this as an >> extension, treating void* like char*, i.e. p+i is treated as >> (void*)((char*)p+i). >> >> For portability, define buffer as a char*. >> >>> printf("\rcompleted: %i%%", progress); /* NO OUTPUT, UNTIL LOOP ENDED */ >>> fflush(stdout); >> >>> Then i see printf() never output the message until the loop has ended... >>> 'fdp' is a file descriptor to a local file, i send it through a serial >>> connection (RS232), >> >> Try checking the return value of printf() and fflush(), and errno upon >> error. >> >> Also, what is stdout connected to? A VT? An xterm? sshd? >> >> -- >> Glynn Clements <[email protected]> >> > -- > To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Thanks - Manish -- To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html