builtin sscanf

fedor_qd fedor_qd@mail.ru
Wed Oct 19 18:45:00 GMT 2016


How precize this function?
I write sample:
int main()
    {
    float x, y;
    __builtin_sscanf("30,981", "%f", &x);
    __builtin_printf("Test comma: %f\n", x);
    return(0);
    }

Compile with options: g++ main.c -o hello -static-libgcc

This sample returns 30.00 but 30.981 expected

Always yours, Strizhniou Fiodar
Всегда ваш, Стрижнёв Фёдор

Пользователь Jeff Law <law@redhat.com> писал:

>On 10/13/2016 01:03 AM, fedor_qd@mail.ru wrote:
>> Are GCC builtin function sscanf, strtod and atof independent from libc provided by os?
>> Always yours, Fiodar Stryzniou
>They are largely independent -- though GCC has knowledge of the 
>requirements imposed by POSIX and assumes those requirements except in a 
>freestanding implementation.
>
>GCC sometimes has small amounts of knowledge of the implementation. For 
>example, it knows about how the implmementation handles certain 
>formatting which vary across implemetations (%p for example).  That 
>knowledge is used to give more precise buffer overflow warnings and can 
>be used to optimize return values from certain *printf calls.
>
>Jeff


More information about the Gcc-help mailing list