
linux编程基础
我是打杂的哈
这个作者很懒,什么都没留下…
展开
-
简单的文件读写
文件到bufferchar* from_file_to_buf(char *file_path){ FILE *f = NULL; unsigned long len = 0; char prefix_buf[64] = {0}; int add_len = 0; int f_len = 0; char *data = NULL; f=...原创 2019-03-06 10:53:05 · 170 阅读 · 0 评论 -
字符串操作
字符传替换/*str:原始字符串("abc111eff"),old_value:需要替换的("111"), new_value: 最新的("222"),结果str变为"abc222eff"*/void replace_str(char *str, char *old_value, char *new_value){ char des[4096] = {0}; ch...原创 2019-03-06 10:58:35 · 178 阅读 · 0 评论 -
linux c简单的变参数实例
/*判断奇数还是偶数*/int isOddnumber(int number){ if(number%2==0) return 0; return 1;}/*获取key和value*/int get_key_value(int c, ...){ int i = c; va_list ap; v...原创 2019-03-06 11:07:38 · 167 阅读 · 0 评论 -
简单qsort实例
#include <stdio.h>#include <stdlib.h>int values[] = { 88, 56, 100, 2, 25 };int cmpfunc (const void * a, const void * b){ return ( *(int*)a - *(int*)b ); //return ( *(int*)b - *...原创 2019-03-07 11:35:38 · 310 阅读 · 0 评论 -
代码中执行shell获取返回结果接口
int ExecCommand(const char *cmd, char **res){ FILE *stream; FILE *p_z1; size_t len; char tmp[64] = {0};//open_memstream: 强大的函数自动分配内存 stream = open_memstream(res, &len);...原创 2019-03-07 15:48:56 · 2158 阅读 · 0 评论 -
bitMap浅析
基本思想: 所谓的BitMap就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间。举例: 这此我用一个简单的例子来详细介绍BitMap算法的原理。假设我们要对0-7内的5个元素(4,7,2,5,3)进行排序(这里假设元素没有重复)。我们可以使用BitMap算法达到排序目的。要表示8个数...原创 2019-03-30 13:18:38 · 1787 阅读 · 2 评论 -
readv与writev实例
readv和writev函数的功能可以概括为:对数据进行整合传输以及发送。通过writev函数可以将分散保存在多个buff的数据一并进行发送,通过readv可以由多个buff分别接受数据,适当的使用这两个函数可以减少I/O函数的调用次数:#include <sys/types.h>#include <sys/stat.h>#include <fcntl....原创 2019-04-18 20:06:01 · 445 阅读 · 0 评论 -
linux C编程之死锁
死锁:死锁就是你和小明打架,互相掐住对方脖子,你们都说“你先放!”,结果谁都不放,死锁了.在程序里面,有两个锁,A线程锁住第一个,B线程锁住了第二个,这时如果A再试图锁第二个,失败,因为B已经锁住了,A只能等待.就在这时B试图锁第一个,结果失败,因为A已经锁住了,B只好等待.就这样大家一直等下去,谁都不放,天荒地老...举例:#include <unistd.h> #...原创 2019-04-28 19:57:35 · 1403 阅读 · 1 评论 -
shell中的waidpid
(echo aaa >> /dev/null;sleep 10; exit 0)& (echo bbb >> /dev/null;sleep 11; exit 1)& (echo ccc >> /dev/null;sleep 12; exit 0)& (echo ddd >> /dev/null;sleep 5;...转载 2019-06-19 20:55:26 · 175 阅读 · 0 评论