`
haoningabc
  • 浏览: 1476849 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c的类型转换

    博客分类:
  • c
阅读更多
转百度文库
http://wenku.baidu.com/view/ddbeba0fba1aa8114431d96a.html

C类型转换
                                       
atof(将字符串转换成浮点型数)  
相关函数  atoi,atol,strtod,strtol,strtoul
 
表头文件  #include <stdlib.h>
 
定义函数  double atof(const char *nptr);
 
函数说明  atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
 
返回值  返回转换后的浮点型数。
 
附加说明  atof()与使用strtod(nptr,(char**)NULL)结果相同。
 
范例  /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char *a=”-100.23”;
char *b=”200e-2”;
float c;
c=atof(a)+atof(b);
printf(“c=%.2f\n”,c);
}
 
执行  c=-98.23
 
atoi(将字符串转换成整型数)  
相关函数  atof,atol,atrtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  int atoi(const char *nptr);
 
函数说明  atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
 
返回值  返回转换后的整型数。
 
附加说明  atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
 
范例  /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
}
 
执行  c=356
 
atol(将字符串转换成长整型数)  
相关函数  atof,atoi,strtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  long atol(const char *nptr);
 
函数说明  atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
 
返回值  返回转换后的长整型数。
 
附加说明  atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
 
范例  /*将字符串a与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=” 234567890”;
long c;
c=atol(a)+atol(b);
printf(“c=%d\n”,c);
}
 
执行  c=1234567890
 

 
gcvt(将浮点型数转换为字符串,取四舍五入)  
相关函数  ecvt,fcvt,sprintf
表头文件  #include<stdlib.h>
 
定义函数  char *gcvt(double number,size_t ndigits,char *buf);
 
函数说明  gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
 
返回值  返回一字符串指针,此地址即为buf指针。
 
附加说明  
 
范例  #include<stdlib.h>
main()
{
double a=123.45;
double b=-1234.56;
char *ptr;
int decpt,sign;
gcvt(a,5,ptr);
printf(“a value=%s\n”,ptr);
ptr=gcvt(b,6,ptr);
printf(“b value=%s\n”,ptr);
}
 
执行  a value=123.45
b value=-1234.56
 
strtod(将字符串转换成浮点数)  
相关函数  atoi,atol,strtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  double strtod(const char *nptr,char **endptr);
 
函数说明  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
 
返回值  返回转换后的浮点型数。
 
附加说明  参考atof()。
 
范例  /*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/
#include<stdlib.h>
mian()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d\n”,strtod(a,NULL,10));
printf(“b=%d\n”,strtod(b,NULL,2));
printf(“c=%d\n”,strtod(c,NULL,16));
}
 
执行  a=1000000000
b=512
c=65535
 
strtol(将字符串转换成长整型数)  
相关函数  atof,atoi,atol,strtod,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  long int strtol(const char *nptr,char **endptr,int base);
 
函数说明  strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
 
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
 
附加说明  ERANGE指定的转换字符串超出合法范围。
 
范例  /* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d\n”,strtol(a,NULL,10));
printf(“b=%d\n”,strtol(b,NULL,2));
printf(“c=%d\n”,strtol(c,NULL,16));
}
 
执行  a=1000000000
b=512
c=65535
 
strtoul(将字符串转换成无符号长整型数)  
相关函数  atof,atoi,atol,strtod,strtol
 
表头文件  #include<stdlib.h>
 
定义函数  unsigned long int strtoul(const char *nptr,char **endptr,int base);
 
函数说明  strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
 
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
 
附加说明  ERANGE指定的转换字符串超出合法范围。
 
范例  参考strtol()
 
  
toascii(将整型数转换成合法的ASCII 码字符)  
相关函数  isascii,toupper,tolower
 
表头文件  #include<ctype.h>
 
定义函数  int toascii(int c)
 
函数说明  toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
 
返回值  将转换成功的ASCII码字符值返回。
 
范例  #include<stdlib.h>
main()
{
int a=217;
char b;
printf(“before toascii () : a value =%d(%c)\n”,a,a);
b=toascii(a);
printf(“after toascii() : a value =%d(%c)\n”,b,b);
}
 
执行  before toascii() : a value =217()
after toascii() : a value =89(Y)
 
tolower(将大写字母转换成小写字母)  
相关函数  isalpha,toupper
 
表头文件  #include<stdlib.h>
 
定义函数  int tolower(int c);
 
函数说明  若参数c为大写字母则将该对应的小写字母返回。
 
返回值  返回转换后的小写字母,若不须转换则将参数c值返回。
 
附加说明  
 
范例  /* 将s字符串内的大写字母转换成小写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before tolower() : %s\n”,s);
for(i=0;I<sizeof(s);i++)
s[i]=tolower(s[i]);
printf(“after tolower() : %s\n”,s);
}
 
执行  before tolower() : aBcDeFgH12345;!#$
after tolower() : abcdefgh12345;!#$
 
toupper(将小写字母转换成大写字母)  
相关函数  isalpha,tolower
 
表头文件  #include<ctype.h>
 
定义函数  int toupper(int c);
 
函数说明  若参数c为小写字母则将该对映的大写字母返回。
 
返回值  返回转换后的大写字母,若不须转换则将参数c值返回。
 
附加说明  
 
范例  /* 将s字符串内的小写字母转换成大写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before toupper() : %s\n”,s);
for(i=0;I<sizeof(s);i++)
s[i]=toupper(s[i]);
printf(“after toupper() : %s\n”,s);
}
 
执行  before toupper() : aBcDeFgH12345;!#$
after toupper() : ABCDEFGH12345;!#$
 
字符串和数字之间的转换函数(glibc) 收藏 
atof(将字符串转换成浮点型数)  
相关函数  atoi,atol,strtod,strtol,strtoul 
表头文件  #include <stdlib.h>
定义函数  double atof(const char *nptr);
函数说明  atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值  返回转换后的浮点型数。
附加说明  atof()与使用strtod(nptr,(char**)NULL)结果相同。

范例  /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char *a=”-100.23”;
char *b=”200e-2”;
float c;
c=atof(a)+atof(b);
printf(“c=%.2f\n”,c);
}
 
执行  c=-98.23


atoi(将字符串转换成整型数)  
相关函数  atof,atol,atrtod,strtol,strtoul
表头文件  #include<stdlib.h>
定义函数  int atoi(const char *nptr);
函数说明  atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值  返回转换后的整型数。
附加说明  atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
 
范例  /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
}
 
执行  c=356


atol(将字符串转换成长整型数)  
相关函数  atof,atoi,strtod,strtol,strtoul
表头文件  #include<stdlib.h>
定义函数  long atol(const char *nptr);
函数说明  atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值  返回转换后的长整型数。
附加说明  atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
 
范例  /*将字符串a与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=” 234567890”;
long c;
c=atol(a)+atol(b);
printf(“c=%d\n”,c);
}
 
执行  c=1234567890


gcvt(将浮点型数转换为字符串,取四舍五入)  
相关函数  ecvt,fcvt,sprintf
表头文件  #include<stdlib.h>
定义函数  char *gcvt(double number,size_t ndigits,char *buf);
函数说明  gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回值  返回一字符串指针,此地址即为buf指针。
附加说明  
 
范例  #include<stdlib.h>
main()
{
double a=123.45;
double b=-1234.56;
char *ptr;
int decpt,sign;
gcvt(a,5,ptr);
printf(“a value=%s\n”,ptr);
ptr=gcvt(b,6,ptr);
printf(“b value=%s\n”,ptr);
}
 
执行  a value=123.45
b value=-1234.56


strtod(将字符串转换成浮点数)  
相关函数  atoi,atol,strtod,strtol,strtoul
表头文件  #include<stdlib.h>
定义函数  double strtod(const char *nptr,char **endptr);
函数说明  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
返回值  返回转换后的浮点型数。
附加说明  参考atof()。
 
范例  /*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/
#include<stdlib.h>
mian()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d\n”,strtod(a,NULL,10));
printf(“b=%d\n”,strtod(b,NULL,2));
printf(“c=%d\n”,strtod(c,NULL,16));
}
 
执行  a=1000000000
b=512
c=65535
 

strtol(将字符串转换成长整型数)  
相关函数  atof,atoi,atol,strtod,strtoul
表头文件  #include<stdlib.h>
定义函数  long int strtol(const char *nptr,char **endptr,int base);
函数说明  strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明  ERANGE指定的转换字符串超出合法范围。
 
范例  /* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d\n”,strtol(a,NULL,10));
printf(“b=%d\n”,strtol(b,NULL,2));
printf(“c=%d\n”,strtol(c,NULL,16));
}
 
执行  a=1000000000
b=512
c=65535
 

strtoul(将字符串转换成无符号长整型数)  
相关函数  atof,atoi,atol,strtod,strtol
表头文件  #include<stdlib.h>
定义函数  unsigned long int strtoul(const char *nptr,char **endptr,int base);
函数说明  strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明  ERANGE指定的转换字符串超出合法范围。
 
范例  参考strtol()
 

toascii(将整型数转换成合法的ASCII 码字符)  
相关函数  isascii,toupper,tolower
表头文件  #include<ctype.h>
定义函数  int toascii(int c)
函数说明  toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
返回值  将转换成功的ASCII码字符值返回。
 
范例  #include<stdlib.h>
main()
{
int a=217;
char b;
printf(“before toascii () : a value =%d(%c)\n”,a,a);
b=toascii(a);
printf(“after toascii() : a value =%d(%c)\n”,b,b);
}
 
执行  before toascii() : a value =217()
after toascii() : a value =89(Y)


tolower(将大写字母转换成小写字母)  
相关函数  isalpha,toupper
表头文件  #include<stdlib.h>
定义函数  int tolower(int c);
函数说明  若参数c为大写字母则将该对应的小写字母返回。
返回值  返回转换后的小写字母,若不须转换则将参数c值返回。
附加说明  
 
范例  /* 将s字符串内的大写字母转换成小写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before tolower() : %s\n”,s);
for(i=0;I<sizeof(s);i++)
s[i]=tolower(s[i]);
printf(“after tolower() : %s\n”,s);
}
 
执行  before tolower() : aBcDeFgH12345;!#$
after tolower() : abcdefgh12345;!#$
 

toupper(将小写字母转换成大写字母)  
相关函数  isalpha,tolower
表头文件  #include<ctype.h>
定义函数  int toupper(int c);
函数说明  若参数c为小写字母则将该对映的大写字母返回。
返回值  返回转换后的大写字母,若不须转换则将参数c值返回。
附加说明  
 
范例  /* 将s字符串内的小写字母转换成大写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before toupper() : %s\n”,s);
for(i=0;I<sizeof(s);i++)
s[i]=toupper(s[i]);
printf(“after toupper() : %s\n”,s);
}
 
执行  before toupper() : aBcDeFgH12345;!#$
after toupper() : ABCDEFGH12345;!#$ 

atof(将字符串转换成浮点型数)  
相关函数  atoi,atol,strtod,strtol,strtoul
 
表头文件  #include <stdlib.h>
 
定义函数  double atof(const char *nptr);
 
函数说明  atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
 
返回值  返回转换后的浮点型数。
 
附加说明  atof()与使用strtod(nptr,(char**)NULL)结果相同。 
atoi(将字符串转换成整型数)  
相关函数  atof,atol,atrtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  int atoi(const char *nptr);
 
函数说明  atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
 
返回值  返回转换后的整型数。
 
附加说明  atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。

atol(将字符串转换成长整型数)  
相关函数  atof,atoi,strtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  long atol(const char *nptr);
 
函数说明  atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
 
返回值  返回转换后的长整型数。
 
附加说明  atol()与使用strtol(nptr,(char**)NULL,10);结果相同。 

gcvt(将浮点型数转换为字符串,取四舍五入)  
相关函数  ecvt,fcvt,sprintf
 
表头文件  #include<stdlib.h>
 
定义函数  char *gcvt(double number,size_t ndigits,char *buf);
 
函数说明  gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
 
返回值  返回一字符串指针,此地址即为buf指针。 

strtod(将字符串转换成浮点数)  
相关函数  atoi,atol,strtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  double strtod(const char *nptr,char **endptr);
 
函数说明  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
 
返回值  返回转换后的浮点型数。
 
strtol(将字符串转换成长整型数)  
相关函数  atof,atoi,atol,strtod,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  long int strtol(const char *nptr,char **endptr,int base);
 
函数说明  strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
 
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
 
附加说明  ERANGE指定的转换字符串超出合法范围。 

strtoul(将字符串转换成无符号长整型数)  
相关函数  atof,atoi,atol,strtod,strtol
 
表头文件  #include<stdlib.h>
 
定义函数  unsigned long int strtoul(const char *nptr,char **endptr,int base);
 
函数说明  strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
 
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
 
附加说明  ERANGE指定的转换字符串超出合法范围。 

toascii(将整型数转换成合法的ASCII 码字符)  
相关函数  isascii,toupper,tolower
 
表头文件  #include<ctype.h>
 
定义函数  int toascii(int c)
 
函数说明  toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
 
返回值  将转换成功的ASCII码字符值返回。


C++中字符串与整型浮点型间的转换
atof(将字符串转换成浮点型数)  
相关函数   atoi,atol,strtod,strtol,strtoul

表头文件   #include <stdlib.h>

定义函数   double atof(const char *nptr);

函数说明   atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。

返回值   返回转换后的浮点型数。

附加说明   atof()与使用strtod(nptr,(char**)NULL)结果相同。

atoi(将字符串转换成整型数)  
相关函数   atof,atol,atrtod,strtol,strtoul

表头文件   #include<stdlib.h>

定义函数   int atoi(const char *nptr);

函数说明   atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

返回值   返回转换后的整型数。

附加说明   atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。

atol(将字符串转换成长整型数)  
相关函数   atof,atoi,strtod,strtol,strtoul

表头文件   #include<stdlib.h>

定义函数   long atol(const char *nptr);

函数说明   atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

返回值   返回转换后的长整型数。

附加说明   atol()与使用strtol(nptr,(char**)NULL,10);结果相同。

gcvt(将浮点型数转换为字符串,取四舍五入)  
相关函数   ecvt,fcvt,sprintf

表头文件   #include<stdlib.h>

定义函数   char *gcvt(double number,size_t ndigits,char *buf);

函数说明   gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。

返回值   返回一字符串指针,此地址即为buf指针。

strtod(将字符串转换成浮点数)  
相关函数   atoi,atol,strtod,strtol,strtoul

表头文件   #include<stdlib.h>

定义函数   double strtod(const char *nptr,char **endptr);

函数说明   strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。

返回值   返回转换后的浮点型数。

strtol(将字符串转换成长整型数)  
相关函数   atof,atoi,atol,strtod,strtoul

表头文件   #include<stdlib.h>

定义函数   long int strtol(const char *nptr,char **endptr,int base);

函数说明   strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

返回值   返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。

附加说明   ERANGE指定的转换字符串超出合法范围。

strtoul(将字符串转换成无符号长整型数)  
相关函数   atof,atoi,atol,strtod,strtol

表头文件   #include<stdlib.h>

定义函数   unsigned long int strtoul(const char *nptr,char **endptr,int base);

函数说明   strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

返回值   返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。

附加说明   ERANGE指定的转换字符串超出合法范围。

toascii(将整型数转换成合法的ASCII 码字符)  
相关函数   isascii,toupper,tolower

表头文件   #include<ctype.h>

定义函数   int toascii(int c)

函数说明   toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。

返回值   将转换成功的ASCII码字符值返回。

atof(将字符串转换成浮点型数)  
相关函数  atoi,atol,strtod,strtol,strtoul
 
表头文件  #include <stdlib.h>
 
定义函数  double atof(const char *nptr);
 
函数说明  atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
 
返回值  返回转换后的浮点型数。
 
附加说明  atof()与使用strtod(nptr,(char**)NULL)结果相同。
 
范例  /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char *a=”-100.23”;
char *b=”200e-2”;
float c;
c=atof(a)+atof(b);
printf(“c=%.2f\n”,c);
}
 
执行  c=-98.23
 
  

 

 
atoi(将字符串转换成整型数)  
相关函数  atof,atol,atrtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  int atoi(const char *nptr);
 
函数说明  atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
 
返回值  返回转换后的整型数。
 
附加说明  atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
 
范例  /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d\n”,c);
}
 
执行  c=356
 
  

 

 
atol(将字符串转换成长整型数)  
相关函数  atof,atoi,strtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  long atol(const char *nptr);
 
函数说明  atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
 
返回值  返回转换后的长整型数。
 
附加说明  atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
 
范例  /*将字符串a与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=” 234567890”;
long c;
c=atol(a)+atol(b);
printf(“c=%d\n”,c);
}
 
执行  c=1234567890
 
  

 

 
gcvt(将浮点型数转换为字符串,取四舍五入)  
相关函数  ecvt,fcvt,sprintf
 
表头文件  #include<stdlib.h>
 
定义函数  char *gcvt(double number,size_t ndigits,char *buf);
 
函数说明  gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
 
返回值  返回一字符串指针,此地址即为buf指针。
 
附加说明  
 
范例  #include<stdlib.h>
main()
{
double a=123.45;
double b=-1234.56;
char *ptr;
int decpt,sign;
gcvt(a,5,ptr);
printf(“a value=%s\n”,ptr);
ptr=gcvt(b,6,ptr);
printf(“b value=%s\n”,ptr);
}
 
执行  a value=123.45
b value=-1234.56
 
  

 

 
strtod(将字符串转换成浮点数)  
相关函数  atoi,atol,strtod,strtol,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  double strtod(const char *nptr,char **endptr);
 
函数说明  strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
 
返回值  返回转换后的浮点型数。
 
附加说明  参考atof()。
 
范例  /*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/
#include<stdlib.h>
mian()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d\n”,strtod(a,NULL,10));
printf(“b=%d\n”,strtod(b,NULL,2));
printf(“c=%d\n”,strtod(c,NULL,16));
}
 
执行  a=1000000000
b=512
c=65535
 
  

 

 
strtol(将字符串转换成长整型数)  
相关函数  atof,atoi,atol,strtod,strtoul
 
表头文件  #include<stdlib.h>
 
定义函数  long int strtol(const char *nptr,char **endptr,int base);
 
函数说明  strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
 
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
 
附加说明  ERANGE指定的转换字符串超出合法范围。
 
范例  /* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d\n”,strtol(a,NULL,10));
printf(“b=%d\n”,strtol(b,NULL,2));
printf(“c=%d\n”,strtol(c,NULL,16));
}
 
执行  a=1000000000
b=512
c=65535



说明:strtol如果值太大且为负数,返回LONG_MIN,如果值太大且为正数,返回LONG_MAX;

      x=strtol("    590bear",next ,12);返回值为9947,并把一个指向字母e的指针保存在next所指向的变量中。转换在b处终止,因为基数为12是e不是合法的数字。

 
  

 

 
strtoul(将字符串转换成无符号长整型数)  
相关函数  atof,atoi,atol,strtod,strtol
 
表头文件  #include<stdlib.h>
 
定义函数  unsigned long int strtoul(const char *nptr,char **endptr,int base);
 
函数说明  strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
 
返回值  返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
 
附加说明  ERANGE指定的转换字符串超出合法范围。
 
范例  参考strtol()
 
  

 

 
toascii(将整型数转换成合法的ASCII 码字符)  
相关函数  isascii,toupper,tolower
 
表头文件  #include<ctype.h>
 
定义函数  int toascii(int c)
 
函数说明  toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
 
返回值  将转换成功的ASCII码字符值返回。
 
范例  #include<stdlib.h>
main()
{
int a=217;
char b;
printf(“before toascii () : a value =%d(%c)\n”,a,a);
b=toascii(a);
printf(“after toascii() : a value =%d(%c)\n”,b,b);
}
 
执行  before toascii() : a value =217()
after toascii() : a value =89(Y)
 
  

 

 
tolower(将大写字母转换成小写字母)  
相关函数  isalpha,toupper
 
表头文件  #include<stdlib.h>
 
定义函数  int tolower(int c);
 
函数说明  若参数c为大写字母则将该对应的小写字母返回。
 
返回值  返回转换后的小写字母,若不须转换则将参数c值返回。
 
附加说明  
 
范例  /* 将s字符串内的大写字母转换成小写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before tolower() : %s\n”,s);
for(i=0;I<sizeof(s);i++)
s[i]=tolower(s[i]);
printf(“after tolower() : %s\n”,s);
}
 
执行  before tolower() : aBcDeFgH12345;!#$
after tolower() : abcdefgh12345;!#$
 
  

 

 
toupper(将小写字母转换成大写字母)  
相关函数  isalpha,tolower
 
表头文件  #include<ctype.h>
 
定义函数  int toupper(int c);
 
函数说明  若参数c为小写字母则将该对映的大写字母返回。
 
返回值  返回转换后的大写字母,若不须转换则将参数c值返回。
 
附加说明  
 
范例  /* 将s字符串内的小写字母转换成大写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before toupper() : %s\n”,s);
for(i=0;I<sizeof(s);i++)
s[i]=toupper(s[i]);
printf(“after toupper() : %s\n”,s);
}
 
执行  before toupper() : aBcDeFgH12345;!#$
after toupper() : ABCDEFGH12345;!#$ 
atoi,atol,strtod,strtol,strtoul实现类型转换 收藏 
atoi,atol,strtod,strtol,strtoul实现类型转换
所属类别:C/C++
推荐指数:★★★☆
文档人气:3371
本周人气:41
< src="loaddocinfo.js" type=text/javascript> < type=text/javascript> loadDocInfo(2897); 发布日期:2007-6-6
atof(将字符串转换成浮点型数)
相关函数
     atoi,atol,strtod,strtol,strtoul
表头文件
     #include <stdlib.h>
定义函数
     double atof(const char *nptr);
函数说明
     atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值
     返回转换后的浮点型数。
附加说明
     atof()与使用strtod(nptr,(char**)NULL)结果相同。
范例
     /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char *a=”-100.23”;
char *b=”200e-2”;
float c;
c=atof(a)+atof(b);
printf(“c=%.2f ”,c);
}
执行
     c=-98.23
 


     
atoi(将字符串转换成整型数)
相关函数
     atof,atol,atrtod,strtol,strtoul
表头文件
     #include<stdlib.h>
定义函数
     int atoi(const char *nptr);
函数说明
     atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
     返回转换后的整型数。
附加说明
     atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
范例
     /* 将字符串a 与字符串b转换成数字后相加*/
#include<stdlib.h>
mian()
{
char a[]=”-100”;
char b[]=”456”;
int c;
c=atoi(a)+atoi(b);
printf(c=%d ”,c);
}
执行
     c=356
 


     
atol(将字符串转换成长整型数)
相关函数
     atof,atoi,strtod,strtol,strtoul
表头文件
     #include<stdlib.h>
定义函数
     long atol(const char *nptr);
函数说明
     atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
     返回转换后的长整型数。
附加说明
     atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
范例
     /*将字符串a与字符串b转换成数字后相加*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=” 234567890”;
long c;
c=atol(a)+atol(b);
printf(“c=%d ”,c);
}
执行
     c=1234567890
 


     
gcvt(将浮点型数转换为字符串,取四舍五入)
相关函数
     ecvt,fcvt,sprintf
表头文件
     #include<stdlib.h>
定义函数
     char *gcvt(double number,size_t ndigits,char *buf);
函数说明
     gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回值
     返回一字符串指针,此地址即为buf指针。
附加说明
     
范例
     #include<stdlib.h>
main()
{
double a=123.45;
double b=-1234.56;
char *ptr;
int decpt,sign;
gcvt(a,5,ptr);
printf(“a value=%s ”,ptr);
ptr=gcvt(b,6,ptr);
printf(“b value=%s ”,ptr);
}
执行
     a value=123.45
b value=-1234.56
 


     
strtod(将字符串转换成浮点数)
相关函数
     atoi,atol,strtod,strtol,strtoul
表头文件
     #include<stdlib.h>
定义函数
     double strtod(const char *nptr,char **endptr);
函数说明
     strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
返回值
     返回转换后的浮点型数。
附加说明
     参考atof()。
范例
     /*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/
#include<stdlib.h>
mian()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d ”,strtod(a,NULL,10));
printf(“b=%d ”,strtod(b,NULL,2));
printf(“c=%d ”,strtod(c,NULL,16));
}
执行
     a=1000000000
b=512
c=65535
 


     
strtol(将字符串转换成长整型数)
相关函数
     atof,atoi,atol,strtod,strtoul
表头文件
     #include<stdlib.h>
定义函数
     long int strtol(const char *nptr,char **endptr,int base);
函数说明
     strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如 base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
     返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
     ERANGE指定的转换字符串超出合法范围。
范例
     /* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/
#include<stdlib.h>
main()
{
char a[]=”1000000000”;
char b[]=”1000000000”;
char c[]=”ffff”;
printf(“a=%d ”,strtol(a,NULL,10));
printf(“b=%d ”,strtol(b,NULL,2));
printf(“c=%d ”,strtol(c,NULL,16));
}
执行
     a=1000000000
b=512
c=65535
 


     
strtoul(将字符串转换成无符号长整型数)
相关函数
     atof,atoi,atol,strtod,strtol
表头文件
     #include<stdlib.h>
定义函数
     unsigned long int strtoul(const char *nptr,char **endptr,int base);
函数说明
     strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。
返回值
     返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。
附加说明
     ERANGE指定的转换字符串超出合法范围。
范例
     参考strtol()
 


     
toascii(将整型数转换成合法的ASCII 码字符)
相关函数
     isascii,toupper,tolower
表头文件
     #include<ctype.h>
定义函数
     int toascii(int c)
函数说明
     toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。
返回值
     将转换成功的ASCII码字符值返回。
范例
     #include<stdlib.h>
main()
{
int a=217;
char b;
printf(“before toascii () : a value =%d(%c) ”,a,a);
b=toascii(a);
printf(“after toascii() : a value =%d(%c) ”,b,b);
}
执行
     before toascii() : a value =217()
after toascii() : a value =89(Y)
 


     
tolower(将大写字母转换成小写字母)
相关函数
     isalpha,toupper
表头文件
     #include<stdlib.h>
定义函数
     int tolower(int c);
函数说明
     若参数c为大写字母则将该对应的小写字母返回。
返回值
     返回转换后的小写字母,若不须转换则将参数c值返回。
附加说明
     
范例
     /* 将s字符串内的大写字母转换成小写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before tolower() : %s ”,s);
for(i=0;I<sizeof(s);i++)
s=tolower(s);
printf(“after tolower() : %s ”,s);
}
执行
     before tolower() : aBcDeFgH12345;!#$
after tolower() : abcdefgh12345;!#$
 


     
toupper(将小写字母转换成大写字母)
相关函数
     isalpha,tolower
表头文件
     #include<ctype.h>
定义函数
     int toupper(int c);
函数说明
     若参数c为小写字母则将该对映的大写字母返回。
返回值
     返回转换后的大写字母,若不须转换则将参数c值返回。
附加说明
     
范例
     /* 将s字符串内的小写字母转换成大写字母*/
#include<ctype.h>
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before toupper() : %s ”,s);
for(i=0;I<sizeof(s);i++)
s=toupper(s);
printf(“after toupper() : %s ”,s);
}
执行
     before toupper() : aBcDeFgH12345;!#$
after toupper() : ABCDEFGH12345;!#$
分享到:
评论

相关推荐

    计算机组成原理之C语言类型转换

    计算机组成原理之C语言类型转换 本文将探讨C语言中的一些基本概念,包括强制类型转换、补码表示、无符号整数和有符号整数等。这些概念是计算机组成原理的基础,理解这些概念对于学习计算机组成原理非常重要。 一、...

    C语言类型转换-自动类型转换、强制类型转换、指针类型转换

    本篇文章将详细探讨C语言中的三种主要类型转换:自动类型转换、强制类型转换以及指针类型的转换。 ### 自动类型转换 (Implicit Type Conversion) 自动类型转换,也称为隐式类型转换,是指在某些操作中,编译器会...

    C语言类型转换详解与示例

    在现代C编程中,更倾向于使用前面两种方式来进行类型转换。 类型转换虽然提供了灵活性,但也伴随着潜在的问题。例如,当将大范围的类型转换为小范围的类型时,可能会导致精度丢失,如将双精度浮点数转换为单精度...

    C语言隐式类型转换规则

    ### C语言隐式类型转换规则详解 #### 一、引言 C语言作为一种广泛使用的编程语言,具有严格的类型检查机制。在C语言中,不同类型的数值可以通过类型转换来进行混合运算。这种转换分为两种:隐式类型转换和显式类型...

    强制类型转换说明_LabVIEW中关于强制类型转换的使用_labview中tcp_

    在LabVIEW编程环境中,强制类型转换是至关重要的一个环节,特别是在涉及到数据通信,如TCP/IP通信时。本文将深入探讨LabVIEW中强制类型转换的概念、使用场景以及具体操作方法。 LabVIEW是一种图形化编程语言,它的...

    C语言中int到float的强制类型转换

    C语言中int到float的强制类型转换 在C语言中,强制类型转换是非常常见的操作之一,而int到float的强制类型转换则是其中一种非常重要的类型转换。在项目中经常会遇到需要将int类型的数据转换为float类型的情况,这...

    c语言数组访问及强制转换

    本文主要探讨了C语言中的数组访问机制及其与强制类型转换之间的关系。通过具体的编程示例,文章深入解析了一个特殊的问题:如何将一个指向一维整型数组的指针转化为能够被视作二维数组的指针,并成功传递给一个期望...

    C语言实现数值类型转换源代码

    本文将基于给定的文件信息“C语言实现数值类型转换源代码”,深入探讨C语言中数值类型转换的相关知识点,包括基本概念、常见类型转换方法以及实际应用中的注意事项。 ### 一、数值类型转换的基本概念 在C语言中,...

    C语言中类型转换的机制与实践技巧

    类型转换是C语言中一个强大但危险的功能。正确使用类型转换可以提高程序的性能和灵活性,但不当的使用可能导致精度丢失、数据溢出甚至程序崩溃。程序员应该深入理解类型转换的规则和风险,并遵循安全的编程实践,以...

    C语言数据类型转换.ppt

    C语言数据类型转换 C语言数据类型转换是指在不同数据类型的量混合运算时,由编译系统自动完成的类型转换过程。以下是C语言数据类型转换的详细知识点: 1. 数据类型转换发生在不同数据类型的量混合运算时,由编译...

    VC各种类型转换,很详细啊

    5. C风格类型转换:在C++中,尽管不推荐,但仍然可以使用C语言风格的类型转换,如 `(类型)(表达式)`。这种转换方式缺乏安全性,可能导致意外的类型行为,应尽量避免。 6. 类型安全与类型转换:在进行类型转换时,要...

    关于结构体指针类型的强制转换

    在C语言编程中,为了能够灵活地访问这些寄存器,开发者往往需要使用到结构体指针,并且在某些情况下可能还需要对这些指针进行强制类型转换。本文将详细介绍结构体指针的定义、使用方法以及在STM32开发中如何进行强制...

    C变量类型转换

    C语言变量类型的转换,字符,整形,字符串!

    C语言中强制数据类型转换的总结

    C语言中强制数据类型转换的总结 C语言中强制数据类型转换是非常重要的,需要逐步进行,有些是自然的转型,有些需要根据需要强制转换。下面我们将详细讨论数据类型转换的规则和机制。 首先,需要了解数据类型转换的...

    TypeByte@2019_C#_C++_C数据类型转换时间戳转换_

    C++的数据类型转换包括静态类型转换(static_cast)、动态类型转换(dynamic_cast)、强制类型转换(C-style cast)和const_cast。这些转换在处理多态性和内存管理时非常有用。对于时间戳,C++标准库没有直接提供...

    C语言数据类型转换ppt课件.ppt

    C语言数据类型转换的规则和实践 C语言数据类型转换是指在不同的数据类型之间进行转换,以适应不同的运算和赋值操作。在C语言中,数据类型转换可以分为隐式转换和强制转换两种形式。隐式转换是由编译器自动完成的,...

    C语言数据类型转换实例代码

    数据类型转换就是将数据(变量、表达式的结果)从一种类型转换到另一种类型。例如,为了保存小数你可以将int类型的变量转换为double类型。 数据类型转换的一般格式为: (type_name) expression type_name为要转换到...

    C语言数据类型转换的探讨.pdf

    在C语言中,数据类型转换是一项基础且至关重要的技能,它涉及到不同类型的数据之间的相互转化。C语言提供了多种数据类型,包括基本类型(如int、char、float、double等)、构造类型(如数组、结构体)以及枚举类型等...

Global site tag (gtag.js) - Google Analytics