写这段程序的原因是,一位同学问我 winsock 下的 send 函数如何发送一个int数值。我查看了 send 的原型
int send( SOCKET s, const char FAR *buf, int len, int flags );
其中第二个参数需要是字符串指针。于是,我就考虑如何将一个int数值转化成字符串,由此,写了如下的这段代码。
/*
***********************************************************************
* TianYe-2012-5-26
* tets.c
* One program which contains itoa(,,); strlen(..); functions.
* In order to implement 'int' to 'char *'
***********************************************************************
*/
//
#include <stdio.h>
#include <stdlib.h>
//
int main()
{
int num = 12345;
char str[10];
int i = 0;
/*
* TianYe-2012-5-26
* char *itoa( int value, char *string,int radix);
* itoa()把一个整数转换为字符串.
* 返回值: 指向string这个字符串的指针.
*/
itoa(num, str, 10);
printf("int_1 = %d, str = %s\n", num, str);
printf("len = %d\n\n", strlen(str));
//
num = 789;
itoa(num, str, 10);
printf("int_2 = %d, str = %s\n", num, str);
while(str[i] != '\0')
{
printf("char = %c\n", str[i]);
i++;
}
/*
* TianYe-2012-5-26
* strlen(str) - 计算字符串 str 的长度。
*/
printf("len = %d\n", strlen(str));
//
return 0;
}
代码执行结果如下图: