C语言编程基础学习中字符串处理函数
C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
今天这篇,我们暂时先不介绍数据结构知识,只介绍与字符串处理相关的一些函数,大家都知道字符串在计算机中非常重要,字符串在处理在信息检索、语言编译、文字编辑等问题在应用极为广泛,所以字符串处理的重要性不言而喻。今天我们就简单一点,直接介绍一些与之相关的函数,明天继续介绍与字符串相关的数据结构(串),废话不多说,直接进入主题。
一、将其他类型数据转换为字符串的函数:
1、gcvt()函数:
该函数一般形式为:
char *gcvt(double value,int n,char *buf);
参数:value要被转换的浮点型数值,
n为指定存储的有效数值位数,
buf为结果的存储位置。
返回值:返回一个指向转换成功的字符串的指针。
作用:将浮点型数据转换为字符串,根据四舍五入方法。
范例:
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
运行结果:-98.99
-98.99
结果可以看出,函数四舍五入该浮点数。
2、itoa函数:
其一般形式为:
char *itoa(int value,char *str,int radix);
包含于stdlib.h中
参数:value要转换的整型数据,
str转换后指向字符串的指针,
radix转换后的进制,如10,就是指代十进制,2指代二进制等。
作用:把整数转换为字符串,返回值是指向转换后的字符串的指针。
注意:该函数并不是标准c函数,它是windows所特有的,并不能被移植,当然了,要是想跨平台,你可以使用功能更加强大的sprintf,它可以代替itoa函数。
范例:
运行结果:
结果
当然了,还有其他转换函数如:ultoa()(无符号整型转换为字符串)、ltoa()(长整型转换为字符串)等函数,也很简单。当然也有与之相反的函数如把字符串转换成整型数:atoi()函数等。
二、一些常用字符串操作函数:
前一篇后面我们简单介绍了一些字符串处理函数,今天再介绍一些关于字符串处理函数,首先登场的是:
1、strncat()函数:
一般形式为:
char *strncat(char *dest,char *s,int n);
参数:dest为追加的目标字符串,
s为追加的源字符串,
n为追加的字符个数。
作用:将一根字符串指定数量的字符添加到另一个字符串的后面,覆盖dest结尾处的'',然后在添加后的新字符串后面添加''。
参数n如果大于s的长度,那么只将s全部连接到dest后面,如果小于,那么截取s前n个字符连接到dest尾部。
返回值为指向dest字符串的首地址的指针。
此函数在string.h中。
范例:
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
运行结果:
结果
2、strncmp函数:
其一般形式为:
int strncmp(const char s1,const char s2,int n);
参数:参数s1、s2是要比较的字符串。
n是比较字符串s1、s2的前n个字符。
作用:比较s1、s2的前n个字符的大小。
说明:该函数会对s1、s2两个字符串从头开始一个一个字符比较,通过ASCII码值进行比较,两个字符相减,如果差值为两个字符差值为0,那么会继续比下去(直到遇到''),如果找到差值不为0,那么返回差值,如果返回正,说明s1>s2,如果返回负,那么s1
但是不同编译器有可能不是返回差值,可能是-1或1。
范例:
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
运行结果:
s1
算了今天就暂时介绍到这里,毕竟只介绍函数没有多大作用,介绍数据结构以及算法才是王道,但是我会每介绍一篇数据结构文章末尾会带上介绍几个C语言库函数,毕竟慢慢积累,才能汇聚成江河,下一篇介绍数据结构中的串。