C 字符串精要

原创 2012年03月30日 12:33:34

一. 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;
} 

<漏洞战争软件漏洞分析精要> 学习笔记

(拖延症越来越严重)对常见软件漏洞的分类和简介常见漏洞列表 栈溢出漏洞 堆溢出漏洞 整数溢出漏洞 格式化字符串漏洞 双重释放漏洞 双重引用漏洞 数组越界访问漏洞 OtherS 漏洞基本原理解析栈溢出漏...
  • zz709196484
  • zz709196484
  • 2017年11月13日 20:10
  • 190

JavaScript面向对象精要(一)

传统面向对象的语言几大特征:封装、继承、多态,在JavaScript中并不适用。JavaScript的弱类型特征允许你用比其他语言更少的代码完成同样的任务。无需提前设计好类再进行编码。需要一个具有某个...
  • ligang2585116
  • ligang2585116
  • 2017年01月08日 15:16
  • 3259

MongoDB管理与开发精要

逻辑结构 MongoDB逻辑结构是一种层次结构,主要由文档(document),集合(collection),数据库(database)三部分组成。 document相当关系数据库中的一行记录...
  • sgear
  • sgear
  • 2013年05月16日 16:26
  • 1098

≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(二)

继续一周一次的课堂笔记 :D 昨天去晚了站着听讲,感觉好好啊,注意各种集中。想想整个教室里面就是我和老师是站着的,自豪感油然而生。 第二次课讲的东西依旧比较简单,是这本书第二章的前半部分。作为...
  • mydear_11000
  • mydear_11000
  • 2016年11月28日 09:56
  • 305

Unity Shader入门精要读书笔记第一篇

渲染流水线 计算机需要从一系列的顶点数据,为力等信息处罚,将这些信息最终转换成一张人眼可以看到的图像。 这一渲染过程分成三个阶段: 1. 应用阶段 :有开发者主导的阶段。例如,开发者使用了哪些...
  • ndc1992
  • ndc1992
  • 2016年07月08日 10:55
  • 1024

《精要主义》读书笔记(一)

重要 必须做的事情其实并不多,如果把这些能够摘清楚,然后做好,看看效果如何?...
  • aomandeshangxiao
  • aomandeshangxiao
  • 2017年12月17日 21:40
  • 120

Unity Shader入门精要笔记(三):Unity Shader数学基础

本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。 http://blog.csdn.net/lzhq1982/article/details/73523986 说实话,我...
  • lzhq1982
  • lzhq1982
  • 2017年06月22日 12:08
  • 727

Unity Shader入门精要学习笔记 - 第7章 基础纹理

纹理最初的目的就是使用一张图片来控制模型的外观。使用纹理映射技术,我们可以把一张图“黏”在模型表面,逐纹素地控制模型的颜色。 在美术人员建模的时候,通常会在建模软件中利用纹理展开技术把纹理映射坐标存储...
  • u010848412
  • u010848412
  • 2017年06月03日 23:11
  • 1425

Unity Shader入门精要学习笔记 - 第4章 学习 Shader 所需的数学基础

笛卡尔坐标系 1)二维笛卡尔坐标系 在游戏制作中,我们使用的数学绝大部分都是计算位置、距离、角度等变量。而这些计算大部分都是在笛卡尔坐标系下进行的。 一个二维的笛卡尔坐标系包含了两个部分的信息: 一个...
  • u010848412
  • u010848412
  • 2017年05月02日 16:21
  • 961

《Android开发精要》读书笔记——Android的系统架构

按照功能结构和面向人群进行划分 应用部分:包含在Android设备上运行的所有应用,它们是Android系统中直接面向用户的部分。 核心部分:Android系统中核心的功能实现,包括应用框架、核心类...
  • gengzhikui1992
  • gengzhikui1992
  • 2016年02月29日 17:05
  • 1322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C 字符串精要
举报原因:
原因补充:

(最多只允许输入30个字)