关闭

C 字符串精要

标签: cstring语言
1144人阅读 评论(0) 收藏 举报
分类:

一. C语言常用字符串处理函数

1. 字符串常用函数

// 复制字符串
char *strcpy( char *strDestination, const char *strSource );

// 计算字符串长度,不包括最后的 '\0'
size_t strlen( const char *string );

// 字符串连接函数
char *strcat( char *strDestination, const char *strSource );

2. 数字转化为字符串

// int 换为字符串
char *_itoa( int value, char *string, int radix );

// long 转换为字符串
char *_ltoa( long value, char *string, int radix );


// unsigned long 转换为字符串
char *_ultoa( unsigned long value, char *string, int radix );

3. 字符串转化为数字

// 字符串转为 double
double atof( const char *string );

// 字符串转为 int
int atoi( const char *string );

// 字符串转为 long
long atol( const char *string );

__int64 _atoi64( const char *string );

二. 几种字符函数的实现,不使用库函数

1. 整数转换为字符

char * IntToStr(int Number, char* str)
{
	char ch, *right, *left;
	
	unsigned int iabsNumber;
	
	left = right = str;
	
        //如果没负值
	if(Number < 0)
	{
		iabsNumber = -Number; //取 number 的绝对值
		
		*str = '-'; //加上 - 号
		
		left++;
		right++;
	}
	else
		iabsNumber = (unsigned)Number;
	
        //把数字串转成字串,倒置的
	while(iabsNumber)
	{
		*right = (iabsNumber % 10) + 0x30; // 0x30, 是为了把数字变成字符,如:3 -〉'3'
		
		iabsNumber = iabsNumber / 10;
		
		right++;
	}
	
	*right-- = '\0'; //在最后加上 '\0',此时 right 的位置在 '\0'之前
	
        //把倒置的字符串,正过来
	while(right > left)
	{
		ch = *left;
		
		*left++ = *right;
		
		*right-- = ch;
	}
	
	return str;
} 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:771857次
    • 积分:7773
    • 等级:
    • 排名:第2668名
    • 原创:219篇
    • 转载:30篇
    • 译文:1篇
    • 评论:310条
    博客专栏
    最新评论