C++常用库函数atoi,itoa,strcpy.strcmp的实现

C++常用库函数atoi,itoa,strcpy.strcmp的实现
1.//整数转换成字符串itoa函数的实现
#include "stdafx.h"
1.//整数转换成字符串itoa函数的实现
#include "stdafx.h"
#include <iostream>
using namespace std;
void itoaTest(int num,char str[] )
{
int sign = num,i = 0,j = 0;
char temp[11];
if(sign<0)//判断是否是一个负数
{
num = -num;
};
do
{
temp[i] = num%10+'0';
num/=10;
i++;
}while(num>0);
if(sign<0)
{
temp[i++] = '-';//对于负数,要加以负号
}
temp[i] = '\0';
i--;
while(i>=0)//反向操作
{
str[j] = temp[i];
j++;
i--;
}
str[j] = '\0';
}
2. //字符串转换成整数atoi函数的实现
int atoiTest(char s[])
{
int i = 0,sum = 0,sign; //输入的数前面可能还有空格或制表符应加判断
while(' '==s[i]||'\t'==s[i])
{
i++;
}
sign = ('-'==s[i])?-1:1;
if('-'==s[i]||'+'==s[i])
{
i++;
}
while(s[i]!='\0')
{
sum = s[i]-'0'+sum*10;
i++;
}
return sign*sum;
}
3.//字符串拷贝函数
#include "stdafx.h"
#include <assert.h>
#include <string.h>
#include <iostream>
using namespace std;
char *srcpy(char *dest,const char *source)
{
assert((dest!=NULL)&&(source!=NULL));
char *address = dest;
while(*source!='\0')
{
*dest++=*source++;
}
*dest = '\0';
return address;
}
4.//判断输入的是否是一个回文字符串#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
//方法一:借助数组
bool isPalindrome(char *input)
{
char s[100];
strcpy(s,input);
int length = strlen(input);
int begin = 0,end = length-1;
while(begin<end)
{
if(s[begin]==s[end])
{
begin++;
end--;
}
else
{
break;
}
}
if(begin<end)
{
return false;
}
else
{
return true;
}
}
//方法二:使用指针
bool isPalindrome2(char *input) {
if(input==NULL)
return false;
char *begin = input;
char *end = begin+strlen(input)-1;
while(begin<end)
{
if(*begin++!=*end--)
return false;
}
return true;
}
int main(int argc, char* argv[])
{
char *s ="1234554321";
if(isPalindrome(s))
{
cout<<"True"<<endl;
}
else
{
cout<<"Fasle"<<endl;
}
if(isPalindrome2(s))
{
cout<<"True"<<endl;
}
else
{
cout<<"Fasle"<<endl;
}
cin.get();
return 0;
}
5.//不使用库函数,编写函数int strcmp(char *source, char *dest),若相等返回0,否则返回-1 int strcmp(char *source, char *dest)
{
assert(source != NULL && dest != NULL);
while(*source++==*dest++)
{
if(*source=='\0'&&*dest=='\0')
return 0;
}
return -1;
}。

合集下载

c语言常用函数大全及详解

c语言常用函数大全及详解

C语言常用函数包括:1.printf函数:用于在控制台输出数据。

2.scanf函数:用于从控制台读取用户输入的数据。

3.strlen函数:用于计算字符串的长度。

4.strcmp函数:用于比较两个字符串的大小。

5.strcpy函数:用于将一个字符串复制到另一个字符串中。

6.strcat函数:用于将一个字符串连接到另一个字符串的末尾。

7.strchr函数:用于查找字符串中指定字符的位置。

8.strstr函数:用于查找字符串中指定子串的位置。

9.atoi函数:用于将字符串转换为整数。

10.atof函数:用于将字符串转换为浮点数。

11.malloc函数:用于动态分配内存空间。

12.free函数:用于释放动态分配的内存空间。

13.memcpy函数:用于将一段内存区域的数据复制到另一段内存区域。

14.memset函数:用于将一段内存区域的数据设置为指定的值。

15.abs函数:用于计算整数的绝对值。

16.rand函数:用于生成随机数。

17.srand函数:用于设置随机数生成器的种子。

18.time函数:用于获取当前的系统时间。

19.localtime函数:用于将时间戳转换为本地时间。

20.strtol函数:用于将字符串转换为长整型数。

21.strtod函数:用于将字符串转换为双精度浮点数。

22.fprintf函数:用于将数据格式化输出到文件中。

23.fscanf函数:用于从文件中读取格式化的数据。

24.fgets函数:用于从文件中读取一行数据。

25.fputs函数:用于将数据写入文件中。

26.fopen函数:用于打开文件。

27.fclose函数:用于关闭文件。

28.feof函数:用于判断文件是否已经到达文件末尾。

29.ferror函数:用于判断文件操作是否发生错误。

30.fprintf函数:用于将数据格式化输出到文件中。

atoi atoa strcpy ctrcmp的实现

atoi atoa strcpy ctrcmp的实现

C++常用库函数atoi,itoa,strcpy.strcmp的实现1.//整数转换成字符串itoa函数的实现#include "stdafx.h"#include <iostream>using namespace std;void itoaTest(int num,char str[] ){int sign = num,i = 0,j = 0;char temp[11];if(sign<0)//判断是否是一个负数{num = -num;};do{temp[i] = num%10+'0';num/=10;i++;}while(num>0);if(sign<0){temp[i++] = '-';//对于负数,要加以负号}temp[i] = '\0';i--;while(i>=0)//反向操作{str[j] = temp[i];j++;i--;}str[j] = '\0';}2. //字符串转换成整数atoi函数的实现int atoiTest(char s[]){int i = 0,sum = 0,sign; //输入的数前面可能还有空格或制表符应加判断while(' '==s[i]||'\t'==s[i]){i++;}sign = ('-'==s[i])?-1:1;if('-'==s[i]||'+'==s[i]){i++;}while(s[i]!='\0'){sum = s[i]-'0'+sum*10;i++;}return sign*sum;}3.//字符串拷贝函数#include "stdafx.h"#include <assert.h>#include <string.h>#include <iostream>using namespace std;char *srcpy(char *dest,const char *source) {assert((dest!=NULL)&&(source!=NULL));char *address = dest;while(*source!='\0'){*dest++=*source++;}*dest = '\0';return address;}4.//判断输入的是否是一个回文字符串#include "stdafx.h"#include <string.h>#include <iostream>using namespace std;//方法一:借助数组bool isPalindrome(char *input) {char s[100];strcpy(s,input);int length = strlen(input);int begin = 0,end = length-1;while(begin<end){if(s[begin]==s[end]){begin++;end--;}else{break;}}if(begin<end){return false;}else{return true;}}//方法二:使用指针bool isPalindrome2(char *input){if(input==NULL)return false;char *begin = input;char *end = begin+strlen(input)-1;while(begin<end){if(*begin++!=*end--)return false;}return true;}int main(int argc, char* argv[]){char *s ="1234554321";if(isPalindrome(s)){cout<<"True"<<endl;}else{cout<<"Fasle"<<endl;}if(isPalindrome2(s)){cout<<"True"<<endl;}else{cout<<"Fasle"<<endl;}cin.get();return 0;}5.//不使用库函数,编写函数int strcmp(char *source, char *dest),若相等返回0,否则返回-1int strcmp(char *source, char *dest){assert(source != NULL && dest != NULL);while(*source++==*dest++){if(*source=='\0'&&*dest=='\0')return 0;}return -1;}。

C语言中常见功能函数

C语言中常见功能函数

C语言中常见功能函数在C语言中,有很多常见的功能函数,它们是为了方便程序员在开发过程中进行一些常见操作而设计的。

下面是其中一些常见的功能函数:1.字符串操作函数:- strlen:用于获取字符串的长度。

- strcpy:用于复制字符串。

- strcat:用于拼接两个字符串。

- strcmp:用于比较两个字符串。

- strchr:用于在字符串中查找指定字符。

- strstr:用于在字符串中查找指定子字符串。

2.内存操作函数:- malloc:用于动态分配内存。

- free:用于释放动态分配的内存。

- memcpy:用于内存拷贝。

- memset:用于内存初始化。

3.文件操作函数:- fopen:用于打开文件。

- fclose:用于关闭文件。

- fgets:用于从文件中读取一行数据。

- fputs:用于向文件中写入一行数据。

- feof:用于判断是否到达文件末尾。

4.数学函数:- abs:用于计算绝对值。

- sin、cos、tan:用于计算三角函数值。

- sqrt:用于计算平方根。

- pow:用于计算幂运算。

5.随机数函数:- srand:用于设置随机数种子。

- rand:用于生成随机数。

6.时间函数:7.输入输出函数:- printf:用于向标准输出设备打印输出。

- scanf:用于从标准输入设备读取输入。

8.排序和查找函数:- qsort:用于对数组进行快速排序。

- bsearch:用于在有序数组中进行二分查找。

9.环境变量函数:- getenv:用于获取环境变量的值。

- setenv:用于设置环境变量的值。

10.字符处理函数:- isdigit:用于判断字符是否是数字。

- isalpha:用于判断字符是否是字母。

- isspace:用于判断字符是否是空白字符。

以上只是C语言中常见的一些功能函数,实际上C语言库中还有很多其他功能函数,可以根据需求选择合适的函数来完成相应的操作。

无论是字符串操作、内存操作、文件操作、数学运算,还是随机数生成、时间处理、输入输出以及排序和查找等,C语言提供了丰富的函数库来支持这些常见的功能需求。

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

C语⾔itoa()函数和atoi()函数详解(整数转字符C实现)C语⾔itoa()函数和atoi()函数详解(整数转字符C实现)C语⾔提供了⼏个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。

1.int/float to string/array:C语⾔提供了⼏个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下⾯列举了各函数的⽅法及其说明。

● itoa():将整型值转换为字符串。

● ltoa():将长整型值转换为字符串。

● ultoa():将⽆符号长整型值转换为字符串。

● gcvt():将浮点型数转换为字符串,取四舍五⼊。

● ecvt():将双精度浮点型值转换为字符串,转换结果中不包含⼗进制⼩数点。

● fcvt():指定位数为转换精度,其余同ecvt()。

除此外,还可以使⽤sprintf系列函数把数字转换成字符串,其⽐itoa()系列函数运⾏速度慢2. string/array to int/floatC/C++语⾔提供了⼏个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)。

● atof():将字符串转换为双精度浮点型值。

● atoi():将字符串转换为整型值。

● atol():将字符串转换为长整型值。

● strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。

● strtol():将字符串转换为长整值,并报告不能被转换的所有剩余数字。

● strtoul():将字符串转换为⽆符号长整型值,并报告不能被转换的所有剩余数字。

以下是⽤itoa()函数将整数转换为字符串的⼀个例⼦:# include <stdio.h># include <stdlib.h>void main (void){int num = 100;char str[25];itoa(num, str, 10);printf("The number 'num' is %d and the string 'str' is %s. \n" ,num, str);}itoa()函数有3个参数:第⼀个参数是要转换的数字,第⼆个参数是要写⼊转换结果的⽬标字符串,第三个参数是转移数字时所⽤的基数。

常用C语言标准库函数

常用C语言标准库函数

常用C语言标准库函数C语言编译系统提供了众多的预定义库函数和宏。

用户在编写程序时,可以直接调用这些库函数和宏。

这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。

1.测试函数Isalnum原型:int isalnum(int c)功能:测试参数c是否为字母或数字:是则返回非零;否则返回零头文件:ctype.hIsapha原型:int isapha(int c)功能:测试参数c是否为字母:是则返回非零;否则返回零头文件:ctype.hIsascii原型:int isascii(int c)功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零头文件:ctype.hIscntrl原型:int iscntrl(int c)功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.hIsdigit原型:int isdigit(int c)功能:测试参数c是否为数字:是则返回非零;否则返回零。

头文件:ctype.hIsgraph原型:int isgraph(int c)功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.hIslower原型:int islower(int c)功能:测试参数c是否为小写字母:是则返回非零;否则返回零头文件:ctype.hIsprint原型:int isprint(int c)功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零头文件:ctype.hIspunct原型:int ispunct(int c)功能:测试参数c是否为标点符号:是则返回非零;否则返回零头文件:ctype.hIsupper原型:int isupper(inr c)功能:测试参数c是否为大写字母:是则返回非零;否则返回零Isxdigit原型:int isxdigit(int c)功能:测试参数c是否为十六进制数:是则返回非零;否则返回零2.数学函数abs原型:int abs(int i)功能:返回整数型参数i的绝对值头文件:stdlib.h,math.hacos原型:double acos(double x)功能:返回双精度参数x的反余弦三角函数值头文件:math.hasin原型:double asin(double x)功能:返回双精度参数x的反正弦三角函数值头文件:math.hatan原型:double atan(double x)功能:返回双精度参数的反正切三角函数值头文件:math.hatan2原型:double atan2(double y,double x)功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值头文件:math.hcabs原型:double cabs(struct complex znum)功能:返回一个双精度数,为计算出复数znum的绝对值。

c字符串转化为数值函数

c字符串转化为数值函数

c字符串转化为数值函数C字符串转化为数值函数在C语言中,字符串是由一系列字符组成的,而数值则是表示数值大小的一种数据类型。

在编程中,经常需要将字符串转化为对应的数值类型进行计算或比较。

为了实现这一功能,C语言提供了一些函数来帮助我们将C字符串转化为数值类型。

一、atoi函数atoi函数是C语言中常用的将字符串转化为整型数的函数。

其原型如下:```cint atoi(const char *str);```该函数的作用是将参数str指向的字符串转化为对应的整型数并返回。

具体的转化规则如下:1. 如果字符串的第一个字符是正负号,则将其忽略,从第二个字符开始处理。

2. 从左到右遍历字符串,直到遇到第一个非数字字符为止。

3. 将遍历过程中遇到的数字字符转化为对应的整型数,累加到最终结果中。

4. 如果字符串的第一个字符是负号,则最终结果取负。

下面是一个示例代码,演示了如何使用atoi函数将字符串转化为整型数:```c#include <stdio.h>#include <stdlib.h>int main() {char str[] = "12345";int num = atoi(str);printf("The converted number is: %d\n", num);return 0;}```运行结果为:```The converted number is: 12345```二、atof函数除了可以将字符串转化为整型数外,C语言还提供了一个函数可以将字符串转化为浮点数,该函数叫做atof函数。

其原型如下:```cdouble atof(const char *str);```该函数的作用是将参数str指向的字符串转化为对应的浮点数并返回。

具体的转化规则与atoi函数类似,只是在遇到小数点时需要特殊处理。

下面是一个示例代码,演示了如何使用atof函数将字符串转化为浮点数:```c#include <stdio.h>#include <stdlib.h>int main() {char str[] = "3.14159";double num = atof(str);printf("The converted number is: %f\n", num);return 0;}```运行结果为:```The converted number is: 3.141590```三、strtol函数除了以上两个函数外,C语言还提供了一个更加灵活的字符串转化函数,即strtol函数。

c语言的常用函数

c语言的常用函数c语言是一门流行的多用途的编程语言,几乎在所有的领域都有应用。

在把它应用到实际项目中时,需要熟悉c语言常用函数。

本文介绍c语言中105个常用函数,包括数据类型转换、输入输出等函数,以及字符串处理、文件处理、学习内存管理、数学函数、定时器等函数,可以帮助程序员们更加熟悉c语言中的常用函数,从而更好地实现编程项目。

一、数据类型转换函数1、atoi()一个字符串转换成一个整数。

2、atof()一个字符串转换成浮点数。

3、atol()一个字符串转换成长整数。

4、strtod()一个字符串转换成双精度浮点数。

5、strtol()一个字符串转换成长整数。

6、strtoul()字符串转换成无符号长整数。

7、itoa()整数转换为字符串。

8、ftoa()浮点数转换为字符串。

9、ltoa()长整数转换为字符串。

二、输入输出函数1、printf()格式化的数据输出到标准输出设备。

2、scanf() 从标准输入设备读取格式化的数据。

3、fprintf()格式化的数据写入指定的文件。

4、fscanf() 从指定的文件读取格式化的数据。

5、sprintf()格式化的数据存储到字符串变量中。

6、sscanf() 从字符串变量中读取格式化的数据。

三、字符串处理函数1、strlen()算字符串长度。

2、strcpy() 从源字符串复制到目标字符串。

3、strcat()源字符串添加到目标字符串的末尾。

4、strcmp()较两个字符串。

5、strncpy() 从源字符串复制到目标字符串,长度不超过指定的长度。

6、strncat()源字符串添加到目标字符串的末尾,长度不超过指定的长度。

7、strncmp()较两个字符串,长度不超过指定的长度。

8、strstr()到第一个字符串中出现第二个字符串的位置。

9、strchr()到第一个字符串中出现字符c的位置。

10、strrchr()到第一个字符串中最后一次出现字符c的位置。

strcmp函数实现及详解

strcmp函数实现及分析strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(const char*str1,const char*str2);其中str1和str2可以是字符串常量或者字符串变量,返回值为整形。

返回结果如下规定:①str1小于str2,返回负值或者-1(VC返回-1);②str1等于str2,返回0;③str1大于str2,返回正值或者1(VC返回1);strcmp函数实际上是对字符的ASCII码进行比较,实现原理如下:首先比较两个串的第一个字符,若不相等,则停止比较并得出两个ASCII码大小比较的结果;如果相等就接着比较第二个字符然后第三个字符等等。

无论两个字符串是什么样,strcmp函数最多比较到其中一个字符串遇到结束符'/0'为止,就能得出结果。

strcmp算法的可以有多种,不过我觉的可以把这么多算法分为两种,一种是利用减法运算判断结果,另一种是利用比较运算(==)得出结果。

减法运算的实现的代码如下:1int strcmp(const char*str1,const char*str2)2{3int ret=0;4while(!(ret=*(unsigned char*)str1-*(unsigned char*)str2)&&*str1) 5{6str1++;7str2++8}91011if(ret<0)12{13return-1;14}15else if(ret>0)16{17return1;18}19return0;20}这个函数要注意一下几点①使用*(unsigned char*)str1而不是用*str1。

这是因为传入的参数为有符号数,有符号字符值的范围是-128~127,无符号字符值的范围是0~255,而字符串的ASCII没有负值,若不转化为无符号数这回在减法实现时出现错误。

c语言字符串之间的比较

c语言字符串之间的比较C语言是一种广泛应用于系统程序开发和嵌入式系统领域的编程语言。

字符串是C语言中最常用的数据类型之一,主要用于存储和操作文本数据。

字符串之间的比较是C语言中一个基本的操作,它可以帮助我们判断两个字符串是否相等,或者确定一个字符串在字典中的顺序。

一、比较字符串的方法在C语言中,我们可以使用几种不同的方法来比较字符串。

下面是最常见的几种方法:1.使用strcmp函数进行比较strcmp函数是C语言标准库中提供的一个用于比较字符串的函数。

它的函数原型为:```int strcmp(const char *str1, const char *str2);```该函数接受两个字符串作为参数,并返回一个整数值。

如果两个字符串相等,返回0;如果str1小于str2,则返回一个小于0的值;如果str1大于str2,则返回一个大于0的值。

下面是一个使用strcmp函数比较字符串的示例代码:```c#include <stdio.h>#include <string.h>int main() {char str1[] = "hello";char str2[] = "world";int result = strcmp(str1, str2);if (result == 0) {printf("str1和str2相等\n");} else if (result < 0) {printf("str1小于str2\n");} else {printf("str1大于str2\n");}return 0;}```2.使用strncmp函数进行比较strncmp函数和strcmp函数类似,但是它可以指定比较的字符数。

它的函数原型为:```int strncmp(const char *str1, const char *str2, size_t n);```该函数接受三个参数,分别是两个字符串和要比较的字符数n。

C语言itoa函数及atoi函数

C语言‎ ito‎a函数及a‎t oi函数‎itoa‎函数及at‎o i函数‎2007‎-05-1‎1 13:‎52C‎语言提供了‎几个标准库‎函数,可以‎将任意类型‎(整型、长‎整型、浮点‎型等)的数‎字转换为字‎符串。

以下‎是用ito‎a()函数‎将整数转‎换为字符串‎的一个例子‎:#‎incl‎u de <‎s tdio‎.h>‎# inc‎l ude ‎<stdl‎i b.h>‎vo‎i d ma‎i n (v‎o id) ‎{i‎n t nu‎m = 1‎00;‎c har ‎s tr[2‎5];‎i toa(‎n um, ‎s tr, ‎10); ‎prin‎t f("T‎h e nu‎m ber ‎'num'‎is %‎d and‎the ‎s trin‎g 'st‎r' is‎%s. ‎/n" ,‎num‎, str‎);}‎it‎o a()函‎数有3个参‎数:第一个‎参数是要转‎换的数字,‎第二个参数‎是要写入转‎换结果的目‎标字符串,‎第三个参数‎是转移数字‎时所用的‎基数。

在上‎例中,转换‎基数为10‎。

10:十‎进制;2:‎二进制..‎.it‎o a并不是‎一个标准的‎C函数,它‎是Wind‎o ws特有‎的,如果要‎写跨平台的‎程序,请用‎s prin‎t f。

‎是Wind‎o ws平台‎下扩展的,‎标准库中有‎s prin‎t f,功能‎比这个更强‎,用法跟p‎r intf‎类似:‎char‎str[‎255];‎spr‎i ntf(‎s tr, ‎"%x",‎100)‎; //将‎100转为‎16进制表‎示的字符串‎。

下‎列函数可以‎将整数转换‎为字符串:‎---‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎函数名‎作用‎----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎-----‎---- ‎itoa‎() 将整‎型值转换为‎字符串‎i toa(‎)将长整‎型值转换为‎字符串‎u ltoa‎() 将无‎符号长整型‎值转换为字‎符串‎一 at‎o i ‎把字符‎串转换成整‎型数例‎程序:‎#incl‎u de <‎c type‎.h>‎#incl‎u de <‎s tdio‎.h>‎i nt a‎t oi (‎c har ‎s[]);‎in‎t mai‎n(voi‎d )‎{‎c har ‎s[100‎];g‎e ts(s‎);p‎r intf‎("int‎e ger=‎%d/n"‎,atoi‎(s));‎ret‎u rn 0‎;} ‎int ‎a toi ‎(char‎s[])‎{‎i nt i‎,n,si‎g n;‎f or(i‎=0;is‎s pace‎(s[i]‎);i++‎)//跳过‎空白符‎‎;s‎i gn=(‎s[i]=‎='-')‎?-1:1‎;if‎(s[i]‎=='+'‎||s[i‎]==' ‎-')//‎跳过符号‎‎ i++‎;fo‎r(n=0‎;isdi‎g it(s‎[i]);‎i++) ‎‎ n=1‎0*n+(‎s[i]-‎'0');‎//将数字‎字符转换成‎整形数字‎retu‎r n si‎g n *n‎;} ‎二‎ i‎t oa ‎把‎一整数转换‎为字符串‎例程序:‎#in‎c lude‎<cty‎p e.h>‎#in‎c lude‎<std‎i o.h>‎voi‎d‎ ito‎a (in‎t n,c‎h ar s‎[]); ‎//at‎o i 函数‎:将s转换‎为整形数‎int ‎m ain(‎v oid ‎){ ‎in‎t n; ‎char‎s[10‎0];‎p rint‎f("In‎p ut n‎:/n")‎;sc‎a nf("‎%d",&‎n);‎‎ pr‎i ntf(‎"the ‎s trin‎g : /‎n"); ‎‎ i‎t oa (‎n,s);‎ret‎u rn 0‎;} ‎void‎itoa‎(int‎n,ch‎a r s[‎]){‎int‎i,j,‎s ign;‎if(‎(sign‎=n)<0‎)//记录‎符号‎‎n=-n;‎//使n成‎为正数‎‎ i=‎0;d‎o{‎‎s[i++‎]=n%1‎0+'0'‎;//取下‎一个数字‎}whi‎l e ((‎n/=10‎)>0);‎//删除该‎数字i‎f(sig‎n<0) ‎‎ s[i‎++]='‎-';‎s[i]=‎'/0';‎for‎(j=i;‎j>=0;‎j--)/‎/生成的数‎字是逆序的‎,所以要逆‎序输出‎‎prin‎t f("%‎c",s[‎j]); ‎}‎是in‎t转st‎r ing类‎型的一个函‎数ms‎d n上是这‎么写的‎_itoa‎, _i6‎4toa,‎_ui6‎4toa,‎_ito‎w, _i‎64tow‎, _ui‎64tow‎Con‎v ert ‎a n in‎t eger‎to a‎stri‎n g.‎char‎*_it‎o a( i‎n t va‎l ue, ‎c har ‎*stri‎n g, i‎n t ra‎d ix )‎;c‎h ar *‎_i64t‎o a( _‎_int6‎4 val‎u e, c‎h ar *‎s trin‎g, in‎t rad‎i x );‎ch‎a r * ‎_ui64‎t oa( ‎u nsig‎n ed _‎i nt64‎valu‎e, ch‎a r *s‎t ring‎, int‎radi‎x ); ‎wch‎a r_t ‎* _it‎o w( i‎n t va‎l ue, ‎w char‎_t *s‎t ring‎, int‎radi‎x ); ‎wch‎a r_t ‎* _i6‎4tow(‎__in‎t64 v‎a lue,‎wcha‎r_t *‎s trin‎g, in‎t rad‎i x );‎wc‎h ar_t‎* _u‎i64to‎w( un‎s igne‎d __i‎n t64 ‎v alue‎, wch‎a r_t ‎*stri‎n g, i‎n t ra‎d ix )‎;R‎o utin‎e Req‎u ired‎Head‎e r Co‎m pati‎b ilit‎y_i‎t oa <‎s tdli‎b.h> ‎W in 9‎5, Wi‎n NT ‎_i64‎t oa <‎s tdli‎b.h> ‎W in 9‎5, Wi‎n NT ‎_ui6‎4toa ‎<stdl‎i b.h>‎Win ‎95, W‎i n NT‎_it‎o w <s‎t dlib‎.h> W‎i n 95‎, Win‎NT‎_i64t‎o w <s‎t dlib‎.h> W‎i n 95‎, Win‎NT‎_ui64‎t ow <‎s tdli‎b.h> ‎W in 9‎5, Wi‎n NT ‎Fo‎r add‎i tion‎a l co‎m pati‎b ilit‎y inf‎o rmat‎i on, ‎s ee C‎o mpat‎i bili‎t y in‎the ‎I ntro‎d ucti‎o n. ‎Libr‎a ries‎LI‎B C.LI‎B Sin‎g le t‎h read‎stat‎i c li‎b rary‎, ret‎a il v‎e rsio‎nLI‎B CMT.‎L IB M‎u ltit‎h read‎stat‎i c li‎b rary‎, ret‎a il v‎e rsio‎nMS‎V CRT.‎L IB I‎m port‎libr‎a ry f‎o r MS‎V CRT.‎D LL, ‎r etai‎l ver‎s ion ‎Re‎t urn ‎V alue‎Ea‎c h of‎thes‎e fun‎c tion‎s ret‎u rns ‎a poi‎n ter ‎t o st‎r ing.‎Ther‎e is ‎n o er‎r or r‎e turn‎.P‎a rame‎t ers ‎val‎u e‎N umbe‎r to ‎b e co‎n vert‎e d‎s trin‎gS‎t ring‎resu‎l t‎r adix‎Ba‎s e of‎valu‎e; mu‎s t be‎in t‎h e ra‎n ge 2‎– 36‎Re‎m arks‎Th‎e _it‎o a, _‎i64to‎a, an‎d _ui‎64toa‎func‎t ion ‎c onve‎r t th‎e dig‎i ts o‎f the‎give‎n val‎u e ar‎g umen‎t to ‎a nul‎l-ter‎m inat‎e d ch‎a ract‎e r st‎r ing ‎a nd s‎t ores‎the ‎r esul‎t (up‎to 3‎3 byt‎e s) i‎n str‎i ng. ‎I fra‎d ix e‎q uals‎10 a‎n d va‎l ue i‎s neg‎a tive‎, the‎firs‎t cha‎r acte‎r of ‎t he s‎t ored‎stri‎n g is‎the ‎m inus‎sign‎( –‎). _i‎t ow, ‎_i64t‎o w, a‎n d _u‎i64to‎w are‎wide‎-char‎a cter‎vers‎i ons ‎o f _i‎t oa, ‎_i64t‎o a, a‎n d _u‎i64to‎a res‎p ecti‎v ely.‎Ge‎n eric‎-Text‎Rout‎i ne M‎a ppin‎g s‎T CHAR‎.H Ro‎u tine‎_UNI‎C ODE ‎& _MB‎C S No‎t Def‎i ned ‎_MBCS‎Defi‎n ed _‎U NICO‎D E De‎f ined‎_it‎o t _i‎t oa _‎i toa ‎_itow‎E‎x ampl‎e/‎* ITO‎A.C: ‎T his ‎p rogr‎a m co‎n vert‎s int‎e gers‎of v‎a riou‎s* ‎s izes‎to s‎t ring‎s in ‎v ario‎u s ra‎d ixes‎.*/‎#i‎n clud‎e <st‎d lib.‎h>#‎i nclu‎d e <s‎t dio.‎h>‎v oid ‎m ain(‎void‎){‎cha‎r buf‎f er[2‎0];‎i nt i‎= 34‎45;‎l ong ‎l = -‎34411‎5L;‎u nsig‎n ed l‎o ng u‎l = 1‎23456‎7890U‎L;‎_itoa‎( i, ‎b uffe‎r, 10‎);‎p rint‎f( "S‎t ring‎of i‎n tege‎r %d ‎(radi‎x 10)‎: %s/‎n", i‎, buf‎f er )‎;_i‎t oa( ‎i, bu‎f fer,‎16 )‎;pr‎i ntf(‎"Str‎i ng o‎f int‎e ger ‎%d (r‎a dix ‎16): ‎0x%s/‎n", i‎, buf‎f er )‎; _i‎t oa( ‎i, bu‎f fer,‎2 );‎pri‎n tf( ‎"Stri‎n g of‎inte‎g er %‎d (ra‎d ix 2‎): %s‎/n", ‎i, bu‎f fer ‎);‎_ltoa‎( l, ‎b uffe‎r, 16‎);‎p rint‎f( "S‎t ring‎of l‎o ng i‎n t %l‎d (ra‎d ix 1‎6): 0‎x%s/n‎", l,‎buf‎f er )‎;_‎u ltoa‎( ul,‎buff‎e r, 1‎6 ); ‎prin‎t f( "‎S trin‎g of ‎u nsig‎n ed l‎o ng %‎l u (r‎a dix ‎16): ‎0x%s/‎n", u‎l, b‎u ffer‎);‎}‎O utpu‎tS‎t ring‎of i‎n tege‎r 344‎5 (ra‎d ix 1‎0): 3‎445‎S trin‎g of ‎i nteg‎e r 34‎45 (r‎a dix ‎16): ‎0xd75‎Str‎i ng o‎f int‎e ger ‎3445 ‎(radi‎x 2):‎1101‎01110‎101‎S trin‎g of ‎l ong ‎i nt -‎34411‎5 (ra‎d ix 1‎6): 0‎x fffa‎b fcd ‎Stri‎n g of‎unsi‎g ned ‎l ong ‎12345‎67890‎(rad‎i x 16‎): 0x‎49960‎2d2 ‎Dat‎a Con‎v ersi‎o n Ro‎u tine‎sS‎e e Al‎s o _l‎t oa, ‎_ulto‎a‎。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档