C语言经常需要发明各种轮子,为方便以后能够把精力放在应用逻辑上而不在发明轮子上,把一些常用的代码片段列于此。

首先是字符串处理方面的,strcpy 函数容易越界,习惯使用 strncpy 函数,但此函数只管复制最多 n 个字符,并不会把末尾的字符自动修改为 '\0',所以给它加上这个操作:

char* utils_strncpy (char *dest, const char *src, size_t length)

{

strncpy (dest, src, length);

dest[length] = '\0';

return dest;

} 内存分配函数 malloc 分配内存却不进行初始化,给它也加上初始化的操作:

void* utils_malloc (size_t size)

{

void *ptr = malloc (size);

if (ptr != NULL)

memset (ptr, 0, size);

return ptr;

} 内存释放函数 free 只是释放内存,却不把指针置为空指针,而且对空指针执行 free 也不知道是否安全,于是改造如下:

void utils_free(void **p)

{

if (p == NULL || *p == NULL)

return;

free(*p);

*p = NULL;

}

相应的有字符串复制函数:

char* utils_strdup (const char *ch)

{

char *copy;

size_t length;

if (ch == NULL)

return NULL;

length = strlen (ch);

copy = (char *) utils_malloc (length + 1);

if (copy==NULL)

return NULL;

utils_strncpy (copy, ch, length);

return copy;

}

把字符串中的大写字母改为小写:

int utils_tolower (char *word)

{

size_t i;

size_t len = strlen (word);

for (i = 0; i <= len - 1; i++)

{

if ('A' <= word[i] && word[i] <= 'Z')

word[i] = word[i] + 32;

}

return 0;

} 清除字符串首尾的空白字符(空格,\r,\n,\r):

int utils_clrspace (char *word)

{

char *pbeg;

char *pend;

size_t len;

if (word == NULL)

return -1;

if (*word == '\0')

return 0;

len = strlen (word);

pbeg = word;

while ((' ' == *pbeg) || ('\r' == *pbeg) || ('\n' == *pbeg) || ('\t' == *pbeg))

pbeg++;

pend = word + len - 1;

while ((' ' == *pend) || ('\r' == *pend) || ('\n' == *pend) || ('\t' == *pend))

{

pend--;

if (pend < pbeg)

{

*word = '\0';

return 0;

}

}

/* Add terminating NULL only if we've cleared room for it */

if (pend + 1 <= word + (len - 1))

pend[1] = '\0';

if (pbeg != word)

memmove (word, pbeg, pend - pbeg + 2);

return 0;

}

嘎然而止.......

常用c语言代码大全,C语言的一些常用代码相关推荐

  1. c 语言整人代码大全,C 语言整人代码大全.doc

    C 语言整人代码大全 C 语言整人代码大全 WScript.Echo("嘿,谢谢你打开我哦,我等你很久 拉!"&TSName) WScript.Echo("你是可 ...

  2. 代码大全 MSIL语言程序设计

    .NET平台的编译器会将高级语言(C#,VB.NET,F#)编译成MSIL(微软中间语言)格式.熟悉MSIL语言,可以读懂一些加密程序混淆过的算法,这些算法几乎不能还原成高级语言,但是可以还原成MSI ...

  3. c语言编程代码大全(c语言简单代码大全)

    html代码和c语言等编程语言有什么联系吗? HTML叫做超文本标记语言(标准通用标记语言下的一个应用)或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言. 怎么修改C语 ...

  4. 取消预约的c语言代码大全,c语言学习宝典2020最新手机版

    <c语言宝典2020最新手机版>是一款专注于计算机二级.C语言编译器的教学软件,无论您是在校大学生,还是职业学员,或者其他开发人员,本软件都旨在全面提高您的C语言编程思想和开发实力,使您能 ...

  5. c语言试卷大全,C语言试题大全

    C语言试题大全 引导语:c语言相关的试题都会考察什么内容呢?以下是小编整理的C语言试题大全,欢迎参考阅读! 一.填空题(10分,第1小题4分,其余每空1分) 1.设有下列登记表,请采用最佳方式定义一种 ...

  6. 语c语言用语大全,C语言常用语总结.doc

    C语言常用语总结 C语言常用语句总结 一:常用函数 1.putchar函数: putchar函数(字符输出函数):向终端输出一个字符. 一般形式为: putchar(c) // 输出字符变量c的值. ...

  7. python常用代码大全-Python 网络爬虫实战项目代码大全

    原标题:Python 网络爬虫实战项目代码大全 DouBanSpider 豆瓣读书的爬虫.你可以爬豆瓣读书下面标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价 ...

  8. python基础代码大全博客园,python基础代码大全解释

    python必背入门代码是什么? python必背代码是:defnot_empty(s):returnsandlen(s.strip())>0#returnsands.strip()#如果直接单 ...

  9. 代刷装修音乐代码大全_代刷网音乐代码 | 手游网游页游攻略大全

    发布时间:2016-03-19 伤害世界私服怎么刷物品 物品代码怎么用详解.是近期很热门的一款游戏,而有些玩家在游戏中出现了代码不能用,输入指令刷不出东西的情况.有些玩家在私服可能用 ... 标签: ...

  10. html我的世界代码大全,我的世界指令代码大全:2021最全指令代码合集

    我的世界指令代码有哪些?游戏中的代码指令非常多,其实这个指令跟作弊码差不多,指令代码的最新内容游戏鸟小编这里为大家准备了很多,想要获得指令代码的玩家,直接在下面找到你需要的即可,小编将所有指令代码进行 ...

最新文章

  1. Android 轮播Banner 实现 附代码
  2. 粒子滤波(Particle filter)
  3. [Python人工智能] 三.theano实现分类神经网络及机器学习基础
  4. linux中usb设备名,Linux 中识别 USB 设备名字的 4 种方法
  5. 0101代码构成了计算机语言,计算机(全国一级考试)理论复习要点、模拟题.doc
  6. 排序算法入门之冒泡排序优化
  7. VC中如何设置Socket的TCP/IP KeepAlive机制(MSDN)
  8. git rm -r --cached_程序员一定能用到的git命令:分支+暂存+回退+标签+创建项目仓库...
  9. n−皇后问题 (dfs)
  10. (7)全民小视频引流脚本模块化开发01-关注用户By飞云脚本学院
  11. 解决quartus与modelsim-se以及modelsim-altera同时使用导致的仿真失败问题
  12. 小白操作Win10扩充C盘(把D盘内存分给C盘)亲测多次有效
  13. 关于UC全民阅读的报告及带来的启发
  14. html 漂亮的边框效果图,Css效果之好看的边框颜色大全
  15. After Effects Guru: Plugins You Should Know After Effects 大师教程之你必须了解的插件 Lynda课程中文字幕
  16. vue项目中使用天地图
  17. 人民币升值与升值预期收益股票
  18. Java设计模式面试题总结
  19. sql脚本自动完成数据库创建、切换、建表、数据初始化
  20. Autojs脚本开发实战第一课 基础入门

热门文章

  1. [简单dp]toj1179
  2. Oracle数据库概述
  3. Fiddler的安装和使用教程(详细)
  4. python如何导入项目,PyCharm如何导入python项目
  5. Python环境搭建教程
  6. everyting真是一款很好的搜索软件, 免费软件
  7. 各个玄幻小说里的魔兽名称,技能名称,游戏中的怪兽名称,大量(留着备用)
  8. 软件测试中测试用例的简单案例
  9. python函数手册 chm_Python中文文档
  10. 音频处理之语音加速播放