LINUX.ORG.RU

itoa


0

0

Народ, не нахожу эту функцию у себя в линуксе! Нету в stdlib.h и вообще вроде нету. В чем тут может быть дело?

anonymous


Нет такой функции в стандарте C. И в SUS нет. И не было.
Используй sprintf или snprintf.

HTH

Onanim
()
Ответ на: комментарий от anonymous

char* p_itoa(int val, int base )
{
	static char buf[32] = {0};
	
	int i = 30;
	
	if (val == 0 )
	{ 
	    buf[i] = '0';
	    
	    return &buf[i]; 
	}
	else 
	{	
	    for(; val && i ; --i, val /= base)
	
		buf[i] = "0123456789abcdef"[val % base];
	
	    return &buf[i+1];
	}
}

Bob1
()
Ответ на: комментарий от Onanim

Это то, что я писал для своих задач. Всегда можно доработать под какие-то другие нужды. Причем элементарно.

Bob1
()
Ответ на: комментарий от Bob1

> Это то, что я писал для своих задач. Всегда можно доработать под какие-то другие нужды. Причем элементарно.

Ну так надо же предупреждать, а то твой код выглядит как прямой ответ.
И в любом случае - зачем 'int val' а не 'unsigned val' ?

Onanim
()
Ответ на: комментарий от Onanim

Ну извини, что не предупредил, многоуважаемый.

Bob1
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.