Linux基础资料库

一、常用快捷键

ubuntu常用快捷键
vim编辑器常用快捷键
Linux常用命令
signal信号的含义

二、Linux c编程的一些巧思

1.数组部分

循环部分数组反复赋值读值,为了防止读到之前的字符串

 buf[strlen(buf)-1]='\0';

假如是结构体,数组初始化,可以使用memset,bzero来清零,但是循环中并不建议使用。

 meset(&per,0,sizeof(per));
 bzero(&per,sizeof(per));

数组赋值的时候多使用strcpy

strcpy(per.name , "zhangsan");

二级指针多数时候用来做参数接一级指针,void*指针可以接任意数据类型,但传参之后要进行强制类型转换。
一级指针还原成基础类型需要对指针取星。
在c语言中,字符串常量是可以赋值给char *的,c++似乎不可以。
对基础类型取&,是在升高类型。

char c = *buf;

拼接输出,拆分字符串,字符串转换

sprintf(path,"%s/%s",path,filename);

char *arg=strtok(buf,":");
char *arg1=strtok(NULL ,":");

2.IO函数部分

注意到哪些函数是带缓冲区的,printf,scanf,f开头的文件操作函数大都带缓冲。
read,write,

//1.
fflush(stdout);
//2. \n
//3.缓冲区满
//4.程序结束

read返回值是读到的字节数,直接写很方便

int rd_ret = read(fd,buf,sizeof(buf));

3.PRO函数部分

detach函数的使用:由于detach函数仅仅是分离主次线程的生命周期,所以当主线程结束后,次线程如果还没有执行完,会把次线程也结束掉。
join函数的使用:把线程变成unjoinable,这里是主线程等待次线程执行完之后再结束进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值