Member
Статус: Не в сети Регистрация: 19.10.2004 Откуда: Киев
Возникла ошибка не пойму в чем дело все вроде правильно.
Кто знает в почему ошибка просьба помочь
(Builder C++ 5)
************** *.Н **********************
class CompileClass_LW1 { public: //------------------------ CompileClass_LW1(void); int Calculate(void); int Read_File(void); int Calc_digits(const char *t_bp_p,bool marker_float, int &dec, int &sign);
private: //----------------------
protected://---------------------- unsigned int num_mas; struct About_pasport { int N; int N_inp; int N_out; int N_f; double f_min; double f_max; }About_pasport_var; struct About_comp { char Type_comp[10]; unsigned int Junction_points[3][1]; float Parametr; char Full_Name_comp[50]; } ;
Описание функции вот: ************************************* Header File
stdlib.h
Category
Conversion Routines, Math Routines
Syntax
#include <stdlib.h>
char *fcvt(double value, int ndig, int *dec, int *sign);
Description
Converts a floating-point number to a string.
fcvt converts value to a null-terminated string digit starting with the leftmost significant digit with ndig digits to the right of the decimal point. fcvt then returns a pointer to the string. The position of the decimal point relative to the beginning of the string is stored indirectly through dec (a negative value for dec means to the left of the returned digits). There is no decimal point in the string itself. If the sign of value is negative the word pointed to by sign is nonzero; otherwise it is 0.
The correct digit has been rounded for the number of digits to the right of the decimal point specified by ndig.
Return Value
The return value of fcvt points to static data whose content is overwritten by each call to fcvt and ecvt.
********************************************
Текст сообщений (в коде) был поврежден при копировании, и информации полезной не несет потому я не выправлял.
Заранее благодарен.
_________________ Многие вещи нам непонятны не потому, что понятия наши слабы; но потому, что сии вещи не входят в круг наших понятий.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Цитата:
temp_str_f
это константный указатель (имя массива = указателю на его первый элемент)
Добавлено спустя 2 минуты, 39 секунд: точнее: его нельзя изменить надо написать примерно так: char* mem; mem = fcvt (какие-то параметры); а теперь k=strlen(mem);
Добавлено спустя 2 минуты, 47 секунд:
Цитата:
Return Value
The return value of fcvt points to static data whose content is overwritten by each call to fcvt and ecvt.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 19.10.2004 Откуда: Киев
Root благодарю вас.
Помогли советы, я просто привык что сначала необходимо выделить место а потом уже на него указатель а потом уже что то туда записывать.
А тут, насколько я понял, место уже выделено функцией при возврате значения.
Другими словами я как бы пытался имени (адресу) одного массива приравнять адрес (имя) другого, а они статические тоесть это и есть области памяти.
В любом случае спасибо, а то вот никак не мог понять в чем дело.
Как говорил Энгельс: "традиция - великая сила", вот тут она меня и подвела
_________________ Многие вещи нам непонятны не потому, что понятия наши слабы; но потому, что сии вещи не входят в круг наших понятий.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения