⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ltoa.c

📁 C语言数值计算中常用的函数
💻 C
字号:
/* 1.0  05-07-85						(ltoa.c) ************************************************************************ *			Robert C. Tausworthe				* *			Jet Propulsion Laboratory			* *			Pasadena, CA 91009		1985		* ************************************************************************ * *	These functions are modified versions of itoa() found in Kernighan *	and Ritchie, page 60, with modifications of exercises 3-3 and 3-5, *	for use with the long data type. * *----------------------------------------------------------------------*/#include "defs.h"#include "stdtyp.h"#include "errno.h"/************************************************************************/	STRINGltoa(s, n, w)/*----------------------------------------------------------------------*/STRING s;long n;{	STRING ltoab();	return ltoab(s, n, w, 10);}/*\p*********************************************************************/	STRINGltoab(s, n, w, b)	/* convert n to a minimum of |w| ascii characters,			   base b, and put in s.  Use 0-fill if w < 0.			   Return pointer to s.				*//*----------------------------------------------------------------------*/STRING s;long n;{	LOCAL char digits[] = "0123456789abcdefghijklmnopqrstuvwxyz";	int i, j;	BOOL sign;	char c, fill;	if (n < 0L)	{	n = -n;		sign = TRUE;	}	else		sign = FALSE;	if (w < 0)	{	fill = '0';		w = -w;	}	else		fill = ' ';	i = 0;	do			/* generate digits in reverse order:	*/		s[i++] = digits[(int)(n % b)];	while (n /= b);	if (sign)			/* put the sign into the string.*/		s[j = i++] = '-';	else		j = i - 1;	while (i < w)			/* expand to proper width.	*/		s[i++] = fill;	/* i is just beyond last filled postion	*/	if (--i ISNT j AND sign AND fill IS '0')	{	s[i] = s[j];		/* get the sign.		*/		s[j] = fill;		/* fill in over it		*/	}	s[++i] = NULL;			/* add null terminator	*/	for (i--, j = 0; j < i; j++, i--) /*  now reverse chars */	{	c = s[j];		s[j] = s[i];		s[i] = c;	}	return s;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -