Цитат (mironcho @ Март 02 2005,11:31) | ||||||
Или използвай strchr():
Ако очакваш повече от една запетайки, примера на gamehack е по удачен, или ще трябва да си направиш цикъл с strchr(). За подробно описание - man 3 strchr. |
Благодаря за отзивите.
Този код със промяна на "," със "." ми е ясен,
но моя проблем беше друг.
Потребителя въвежда низ във entry, след което
този низ се поставя във заявката към сървъра чрез
spirintf("insert into my_table %f", atof(niz));
Фактичесики проблема не е в низа, а във това че след
като atof(...); преобразува низа във double се получава стойност
(например 22,32 ОТБЕЛЯЗВАМ ЧЕ 22,32 е число, а не НИЗ) при която разделителя на цялата част от десетичната е ЗАПЕТАЯ което е проблем за заявката,
защото ЗАПЕТАЯТА се явява разделител м/у отделните стойности които се пращат към сървъра. '>
Мисля че проблема ще се реши със locale();
Прегледах man 7 locale, но честно казано не можах да разбера как да променя разделителя м/у цялата и десетичната част.
Ако ми изпратите някакъв кокретен код за промяна
на този разделител ще ме трогнете '> .