GNUC运行库中的哪些函数在标准库中?

GNUC运行库中的哪些函数在标准库中?,c,gnu,C,Gnu,如何找出GNUC支持的CRT函数是标准库的一部分?例如:atoi()和itoa()。我确信std库中至少有atoi() 维基百科证实了这一点我确信std库中至少有atoi() 维基百科确认itoa不在标准库中。itoa不在标准库中。itoa不在标准库中。atoi()是标准库的一部分。 itoa()不是标准库的一部分 您可以通过以下方式使用它: #include <string.h> void itoa(int input, void (*subr)(char)); voi

如何找出GNUC支持的CRT函数是标准库的一部分?例如:atoi()和itoa()。

我确信std库中至少有atoi()


维基百科证实了这一点

我确信std库中至少有atoi()


维基百科确认itoa不在标准库中。

itoa
不在标准库中。

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;
     }
 }
#包括
无效itoa(整数输入,无效(*subr)(字符));
无效itoa(整数n,字符s[]{
int i,符号;
如果((符号=n)<0)/*记录符号*/
n=-n;/*使n为正*/
i=0;
{/*是否按相反顺序生成数字*/
s[i++]=n%10+'0';/*获取下一个数字*/
}而((n/=10)>0);/*删除它*/
if(符号<0)
s[i++]='-';
s[i]='\0';
反面;
}
/*反转:将字符串反转到位*/
无效反向(字符s[]){
int i,j;
字符c;
for(i=0,j=strlen(s)-1;i
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;
     }
 }
#包括
无效itoa(整数输入,无效(*subr)(字符));
无效itoa(整数n,字符s[]{
int i,符号;
如果((符号=n)<0)/*记录符号*/
n=-n;/*使n为正*/
i=0;
{/*是否按相反顺序生成数字*/
s[i++]=n%10+'0';/*获取下一个数字*/
}而((n/=10)>0);/*删除它*/
if(符号<0)
s[i++]='-';
s[i]='\0';
反面;
}
/*反转:将字符串反转到位*/
无效反向(字符s[]){
int i,j;
字符c;

对于(i=0,j=strlen(s)-1;i引用维基百科第一段中的部分内容,用于
atoi
itoa

atoi
是C编程语言中的一个函数,它将字符串转换为整数数值表示形式。atoi代表ASCII到整数。它包含在C标准库头文件stdlib.h


itoa
(整数到ASCII)函数是标准C编程语言的一个广泛的非标准扩展。它不能移植使用,因为在任何C语言标准中都没有定义它;但是,编译器通常在不一致模式下通过头提供它,因为它是标准库的逻辑对应项rary function
atoi

atoi
itoa
引用维基百科第一段的部分内容:

atoi
是C编程语言中的一个函数,它将字符串转换为整数数值表示形式。atoi代表ASCII到整数。它包含在C标准库头文件stdlib.h


itoa
(整数到ASCII)函数是标准C编程语言的一个广泛的非标准扩展。它不能移植使用,因为在任何C语言标准中都没有定义它;但是,编译器通常在不一致模式下通过头提供它,因为它是标准库的逻辑对应项rary函数
atoi

itoa
不是标准库的一部分;它是一个常见的扩展


atoi
是标准库的一部分,其原型在
stdlib.h
(,§7.20.1.2)中声明


有关标准库中包含哪些函数的完整列表,请参阅联机C标准草案第7章(库)。

itoa
不是标准库的一部分;它是一个通用扩展


atoi
是标准库的一部分,其原型在
stdlib.h
(,§7.20.1.2)中声明


有关标准库中包含哪些函数的完整列表,请参阅联机C标准草案第7章(库)

很明显,您的问题的答案可能是使用标准库参考。最终参考是ISO标准。但也有其他的例子。

您的问题的答案很明显可能是使用标准库参考。最终参考是ISO标准。但有其他人例如。

你在测试我们吗?很容易在网络资源中找到。@Artem Barger:Yep,谷歌搜索,第二个结果:维基百科和文章提供了答案。哎呀,这个问题可能还有数百个版本。编辑。你在测试我们吗?很容易在网络资源中找到。@Artem Barger:Yep,谷歌西尔ch,第二个结果:维基百科和文章提供了答案。哎呀,这个问题可能还有数百个版本。编辑。你只需要检查INT_MIN:
itoa(INT_MIN,buffer);/*oops*/
@pmg你是对的呵呵:
INT_MAX
也一样,只是会导致崩溃:(对于
INT\u MAX
没有问题。我在你的代码中更改了缓冲区并运行它:你只需要检查INT\u MIN:
itoa(INT\u MIN,buffer);/*oops*/
@pmg你是对的hehe:INT\u MAX
也一样,只是会导致崩溃:(对于
INT_MAX
没有问题。我更改了代码中的缓冲区并运行它: