C语言
Ifen_huang
这个作者很懒,什么都没留下…
展开
-
内存分配及堆与栈的区别
1.内存分配方式内存分配方式有三种: 1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 2.从堆栈上分配。函数内的局部变量的存储单元,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 3.从堆上分配,亦称动态转载 2014-05-20 14:29:55 · 525 阅读 · 0 评论 -
C语言将十六进制字符串转换成对应的十进制数字
#include#include#include/* 将大写字母转化成小写字母 */int tolower(int c){ if (c >= 'A' && c { return c + 'a' - 'A'; } else { return c; }}/* 将原创 2017-09-28 10:27:50 · 10721 阅读 · 2 评论 -
获取某个目录下所有文件夹名和文件名
#include#include#include #includeint main(void){ DIR *dirptr=NULL; int i=1; struct dirent *entry; if((dirptr = opendir("/home/ifen"))==NULL) {原创 2017-08-22 11:39:19 · 706 阅读 · 0 评论 -
删除字符串里多余的空格,只保留一个空格
#include#include#include void main(){ char line[128]="tcp 0 0 127.0.0.1:12321 0.0.0.0:* LISTEN 8232/smart_agent"; char r[128] = {0}; int原创 2017-07-24 16:44:36 · 2671 阅读 · 0 评论 -
C指针操作——全部替换字符串里某个字符或者某个子串
#include#include#include//把source字符串里所有s1字符全部替换成字符s2void replace_char(char *result, char *source, char s1, char s2){ int i = 0; char *q = NULL; q = source; for(i=0; i原创 2016-10-28 17:03:49 · 16640 阅读 · 0 评论 -
C语言单向链表的建立
参考:http://www.itxyz.net/3jk/c/2010/0820/11016.html最近不是太忙,整理些东西,工作也许用得到。1,为什么要用到链表数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个大小的数转载 2016-07-22 11:16:50 · 593 阅读 · 0 评论 -
C指针操作——获取有分隔符字符串里的指定字符
获取"11,22,33;44,55,66;77,88,99"字符串中被“,”号隔开的每一个字符串#include#includevoid main(){ char quick_dial_code[64]={0}; char vanity[32]={0}; char path[64]="11,22,33;44,55,66;77,88,99";原创 2016-05-05 10:06:51 · 2595 阅读 · 0 评论 -
C指针操作——把ip字符串转换成ip range字符串
把“192.168.1.6”字符串转化成加4后的ip地址 1 #include 2 #include 3 #include 4 void main() 5 { 6 char ip[65] = "192.168.1.6"; 7 char ip_range[64] = {0}; 8 char *q = NULL; 9原创 2016-05-26 16:41:11 · 843 阅读 · 0 评论 -
C指针操作——获取字符串中所有数字
1 #include 2 #include 3 void main() 4 { 5 char *b = NULL; 6 char a[20] = "**2569#123S"; 7 char m[20] = {0}; 8 int i=0; 9 b=a; 10 while(*b!='\0') 11 { 12 if(*b='0') 13原创 2014-11-18 15:09:55 · 4485 阅读 · 0 评论 -
C语言字符串操作--删除子串
#include#includevoid main(){ char a[15]="Hi Hillo Hi"; char *p=a; char *q; char *temp="Hi"; int i; i=strlen(temp); while((q=strstr(p,"Hi"))!=NULL) { strcpy(q,q+i); } pu转载 2014-08-14 17:56:42 · 3626 阅读 · 1 评论 -
C指针操作——获取字符串中某个特定的字符
要获取字符串 1 #include 2 #include 3 void main() 4 { 5 char a[35]="adc,expires=600,dfdf"; 6 char *q=NULL; 7 char time[35]={0}; 8 q=strstr(a,"expires="); 9 if(q!=NULL) 10原创 2014-08-20 08:59:18 · 2310 阅读 · 0 评论 -
C语言中常见的内存错误与解决方法
常见的错误 关于内存的一些知识已在内存分配中提及,现记录与分享常见的内存错误与对策。类型 1:内存未分配成功,却使用了它。方 法:在使用之前检查指针是否为NULL。 1)当指针p是函数的参数时,在函数入口处用语句assert(p!=NULL)进行断言检查。 2)当使用malloc或new来申请内存时,应该用if(p转载 2014-05-20 14:21:31 · 1566 阅读 · 0 评论 -
C语言——产生一个随机字符或者随机数
#include#include#include#include void genRandomString(char* buff, int length){ char metachar[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; int i = 0;原创 2017-10-25 16:44:33 · 7587 阅读 · 0 评论