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语言库函数,毕竟慢慢积累,才能汇聚成江河,下一篇介绍数据结构中的串。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180313A1RJ6400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券