常用c语言代码大全,C语言的一些常用代码
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语言的一些常用代码相关推荐
- c 语言整人代码大全,C 语言整人代码大全.doc
C 语言整人代码大全 C 语言整人代码大全 WScript.Echo("嘿,谢谢你打开我哦,我等你很久 拉!"&TSName) WScript.Echo("你是可 ...
- 代码大全 MSIL语言程序设计
.NET平台的编译器会将高级语言(C#,VB.NET,F#)编译成MSIL(微软中间语言)格式.熟悉MSIL语言,可以读懂一些加密程序混淆过的算法,这些算法几乎不能还原成高级语言,但是可以还原成MSI ...
- c语言编程代码大全(c语言简单代码大全)
html代码和c语言等编程语言有什么联系吗? HTML叫做超文本标记语言(标准通用标记语言下的一个应用)或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言. 怎么修改C语 ...
- 取消预约的c语言代码大全,c语言学习宝典2020最新手机版
<c语言宝典2020最新手机版>是一款专注于计算机二级.C语言编译器的教学软件,无论您是在校大学生,还是职业学员,或者其他开发人员,本软件都旨在全面提高您的C语言编程思想和开发实力,使您能 ...
- c语言试卷大全,C语言试题大全
C语言试题大全 引导语:c语言相关的试题都会考察什么内容呢?以下是小编整理的C语言试题大全,欢迎参考阅读! 一.填空题(10分,第1小题4分,其余每空1分) 1.设有下列登记表,请采用最佳方式定义一种 ...
- 语c语言用语大全,C语言常用语总结.doc
C语言常用语总结 C语言常用语句总结 一:常用函数 1.putchar函数: putchar函数(字符输出函数):向终端输出一个字符. 一般形式为: putchar(c) // 输出字符变量c的值. ...
- python常用代码大全-Python 网络爬虫实战项目代码大全
原标题:Python 网络爬虫实战项目代码大全 DouBanSpider 豆瓣读书的爬虫.你可以爬豆瓣读书下面标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价 ...
- python基础代码大全博客园,python基础代码大全解释
python必背入门代码是什么? python必背代码是:defnot_empty(s):returnsandlen(s.strip())>0#returnsands.strip()#如果直接单 ...
- 代刷装修音乐代码大全_代刷网音乐代码 | 手游网游页游攻略大全
发布时间:2016-03-19 伤害世界私服怎么刷物品 物品代码怎么用详解.是近期很热门的一款游戏,而有些玩家在游戏中出现了代码不能用,输入指令刷不出东西的情况.有些玩家在私服可能用 ... 标签: ...
- html我的世界代码大全,我的世界指令代码大全:2021最全指令代码合集
我的世界指令代码有哪些?游戏中的代码指令非常多,其实这个指令跟作弊码差不多,指令代码的最新内容游戏鸟小编这里为大家准备了很多,想要获得指令代码的玩家,直接在下面找到你需要的即可,小编将所有指令代码进行 ...
最新文章
- Android 轮播Banner 实现 附代码
- 粒子滤波(Particle filter)
- [Python人工智能] 三.theano实现分类神经网络及机器学习基础
- linux中usb设备名,Linux 中识别 USB 设备名字的 4 种方法
- 0101代码构成了计算机语言,计算机(全国一级考试)理论复习要点、模拟题.doc
- 排序算法入门之冒泡排序优化
- VC中如何设置Socket的TCP/IP KeepAlive机制(MSDN)
- git rm -r --cached_程序员一定能用到的git命令:分支+暂存+回退+标签+创建项目仓库...
- n−皇后问题 (dfs)
- (7)全民小视频引流脚本模块化开发01-关注用户By飞云脚本学院
- 解决quartus与modelsim-se以及modelsim-altera同时使用导致的仿真失败问题
- 小白操作Win10扩充C盘(把D盘内存分给C盘)亲测多次有效
- 关于UC全民阅读的报告及带来的启发
- html 漂亮的边框效果图,Css效果之好看的边框颜色大全
- After Effects Guru: Plugins You Should Know After Effects 大师教程之你必须了解的插件 Lynda课程中文字幕
- vue项目中使用天地图
- 人民币升值与升值预期收益股票
- Java设计模式面试题总结
- sql脚本自动完成数据库创建、切换、建表、数据初始化
- Autojs脚本开发实战第一课 基础入门