Я начинаю работать с Linux и GTK и столкнулся со странной проблемой.Я использую sprintf () в своем коде, чтобы разобрать float в массив символов.
При анализе числа 1 в строке это привело к «1.000000», но странным образом после вызова gtk_init (), когда я затем выполняю sprintf, это приводит к «1,000000».Как gtk_init () изменяет это поведение и как заставить программу продолжать анализировать его на «1.000000».
Это мой небольшой пример программы, которая воспроизводит проблему:
#include <gtk/gtk.h>
int main(int argc, char** argv)
{
char cMessage[12];
float fNumber = 1;
sprintf(cMessage, "T:%f", fNumber);
printf("%s\n", cMessage);
gtk_init(&argc, &argv);
sprintf(cMessage, "T:%f", fNumber);
printf("%s\n", cMessage);
return 0;
}
Вывод этой программы следующий:
T:1.000000
T:1,000000