如何找出GNU C支持的哪些CRT函数是标准库的一部分?例如:atoi()和itoa()。
最佳答案
atoi()
是标准库的一部分。itoa()
不是标准库的一部分。
您可以通过以下方式实现它:
#include <string.h>
void itoa(int input, void (*subr)(char));
void itoa(int n, char s[]) {
int i, sign;
if ((sign = n) < 0) /* record sign */
n = -n; /* make n positive */
i = 0;
do { /* generate digits in reverse order */
s[i++] = n % 10 + '0'; /* get next digit */
} while ((n /= 10) > 0); /* delete it */
if (sign < 0)
s[i++] = '-';
s[i] = '\0';
reverse(s);
}
/* reverse: reverse string s in place */
void reverse(char s[]) {
int i, j;
char c;
for (i = 0, j = strlen(s)-1; i<j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
请参阅注释以了解为什么要删除它,尽管它对其他值也很有用。
关于c - GNU C运行时库中的哪些函数在标准库中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5156236/