随笔分类 -  C基础

摘要:字符串函数:(C/C++通用) 函数 功能 strcpy(s1,s2); 复制字符串s2到s1 strcat(s1,s2) 连接字符串s2到字符串s1末尾 strlen(s1) 返回字符串s1的长度 strcmp(s1,s2) 如果s1和s2相同返回0 如果s1 < s2,返回值小于0 如果s1 > 阅读全文
posted @ 2019-08-05 19:13 王清河 阅读(191) 评论(0) 推荐(0) 编辑
摘要:程序中可以使用#ifdef来控制输出信息 这样在有宏定义DEBGU的时候就会有信息输出 如果注销掉宏定义就不会有输出信息。 也可以注销掉宏定义后,在编译时加上-D gcc debug.c -o debug -D DEBUG 同样可以达到效果 这样的方案是为了解决很多文件有宏定义输出信息的需求 阅读全文
posted @ 2019-08-03 08:14 王清河 阅读(1575) 评论(0) 推荐(0) 编辑
摘要:运行结果: ubuntu1604@ubuntu:~/wangqinghe/C/20190730$ gcc reverse.c -o reverse ubuntu1604@ubuntu:~/wangqinghe/C/20190730$ ./reverse 0 9 8 7 6 5 4 3 2 1 0 r 阅读全文
posted @ 2019-07-30 17:28 王清河 阅读(160) 评论(0) 推荐(0) 编辑
摘要:#include #include struct list { int data; struct list *next; }; //建立链表节点 struct list *create_list() { return calloc(sizeof(struct list),1); } //往链表的第n个节点插入新节点 struct list *insert_list(... 阅读全文
posted @ 2019-07-30 17:06 王清河 阅读(142) 评论(0) 推荐(0) 编辑
摘要://前提是查找的数组已是有序 #include //非递归 int binary(int *arr,int low,int high,int key) { while(low arr[mid]) { low = mid + 1; } else { high = mid ... 阅读全文
posted @ 2019-07-29 21:36 王清河 阅读(170) 评论(0) 推荐(0) 编辑
摘要:#include void swap(int *a,int *b) { int temp = *a; *a = *b; *b = temp; } int MinKey(int *arr,int low,int high) { int min = low; int key = arr[low]; int i; for(i = low + ... 阅读全文
posted @ 2019-07-29 19:12 王清河 阅读(117) 评论(0) 推荐(0) 编辑
摘要:#include void swap(int *a,int *b) { int temp = *a; *a = *b; *b = temp; } void bubble(int array[],int n) { int i; int j; for(i = 0; i array[j]) swap(&array[j... 阅读全文
posted @ 2019-07-29 18:58 王清河 阅读(130) 评论(0) 推荐(0) 编辑
摘要:运行结果: ubuntu1604@ubuntu:~/wangqinghe/C/20190728$ ./sort name = wang,age = 23 name = qing,age = 56 name = he,age = 58 name = wa,age = 13 name = heq,age 阅读全文
posted @ 2019-07-28 21:13 王清河 阅读(370) 评论(0) 推荐(0) 编辑
摘要:C语言所有文件操作都是先把数据写进缓存区再一次性写入磁盘文件中。 flush的功能强制随写随存。 好处是不会因为停电或者电脑死机等故障导致缓冲区内容丢失。 坏处是硬盘读写次数增加,导致程序效率低下同时硬盘寿命变短。 阅读全文
posted @ 2019-07-28 20:14 王清河 阅读(532) 评论(0) 推荐(0) 编辑
摘要:ftell函数用于得到文件位置指针当前位置相对于文件首的偏移字节数,在随机方式存储文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。 运行结果: ubuntu1604@ubuntu:~/wangqinghe/C/20190727$ ./ftell buf = d ftell = 4 阅读全文
posted @ 2019-07-28 20:02 王清河 阅读(1446) 评论(0) 推荐(0) 编辑
摘要:fseek函数: int fseek(FILE *_FILE, long _Offset, int _Origin); 函数设置文件指针stream的位置,如果执行成功,stream将指向以fromwhere为基准,偏移量offset(指针偏移量)个字节的位置,函数返回0。如果执行失败则不改变str 阅读全文
posted @ 2019-07-28 20:01 王清河 阅读(939) 评论(0) 推荐(0) 编辑
摘要:一个应用程序可以启动若干个线程; 线程,是程序执行的最小单位; 一般一个最简单的程序最少有一个线程,就是程序本身,也是主函数; 一个线程阻塞不会影响另一个线程; 多线程的进程可以尽可能多的利用系统CPU资源。 Attention:编译时需要加上-lpthread来连接libpthread.so动态库 阅读全文
posted @ 2019-07-26 17:22 王清河 阅读(1144) 评论(0) 推荐(0) 编辑
摘要:read运行结果读取的数据不对。 以下程序读取成功: 阅读全文
posted @ 2019-07-25 18:13 王清河 阅读(317) 评论(0) 推荐(0) 编辑
摘要:文本文件,每行代表一个整数,范围在0~512之间; 要求:对文件排序,不使用堆空间,只使用栈空间。 用srand()和rand()函数生成一定量的随机数 然后排序: 阅读全文
posted @ 2019-07-25 15:57 王清河 阅读(269) 评论(0) 推荐(0) 编辑
摘要:将结构体内容写入到文件中 写入到文件中,文件大小是104b,(struct类的大小),多余的未填充的字段会是乱码。 会将整个结构大小和内容写入。 运行结果: exbot@ubuntu:~/wangqinghe/C/20190723$ gcc readWrite.c -o readWrite exbo 阅读全文
posted @ 2019-07-24 19:32 王清河 阅读(430) 评论(0) 推荐(0) 编辑
摘要:stat函数可以获取文件信息 可以使用时间相关函数来计算一下程序运行的时间(对于大文件复制有很好的效果) 阅读全文
posted @ 2019-07-24 19:31 王清河 阅读(634) 评论(0) 推荐(0) 编辑
摘要:可以使用时间相关函数来计算一下程序运行的时间 阅读全文
posted @ 2019-07-23 19:28 王清河 阅读(412) 评论(0) 推荐(0) 编辑
摘要:void writeLog(char *filename,char *buf) { printf("write log"); FILE *fp; fp = fopen(filename,"at+"); while(NULL != fp) { char now[32]; memset(now,0,sizeof(now)); ... 阅读全文
posted @ 2019-07-23 14:32 王清河 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1.用strcat拼接函数可以实现 2.用sprintf函数也可以实现 sprintf函数如果写入成功会返回写入字符的个数,第一个参数表示从字符串的第几位开始写入 阅读全文
posted @ 2019-07-23 13:56 王清河 阅读(395) 评论(0) 推荐(0) 编辑
摘要:加密 解密: 阅读全文
posted @ 2019-07-21 21:56 王清河 阅读(5069) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示