当前位置: 首页 > news >正文

椒江建设工程机械厂网站莱芜网站建设价格

椒江建设工程机械厂网站,莱芜网站建设价格,怎么上传网站程序,如何做徽商网站ps:提升效率的小tips: 灵活运用vim操作命令,gg快速跳转到文件开头,G跳转到结尾 多行操作 ctrl V shift i 插入修改内容 esc退出编辑 sudo vi /etc/vim/vimrc 在文件中添加如下内容省略重复工作: autocmd BufNewFile …

ps:提升效率的小tips:

灵活运用vim操作命令,gg快速跳转到文件开头,G跳转到结尾
多行操作

ctrl + V
shift + i
插入修改内容
esc退出编辑

sudo vi /etc/vim/vimrc
在文件中添加如下内容省略重复工作:

autocmd BufNewFile *.c,*.cpp,*.h,*.sh,*.java exec ":call SetTitle()"
func SetTitle()if &filetype == 'c'call setline(1,"#include <unistd.h>")call append(line("."),"    ")call append(line(".")+1,"int main(int args,char*argv[])")call append(line(".")+2,"{")call append(line(".")+3,"    ")call append(line(".")+4,"}")endif
endfunction

1.文件

以下命令都可以在vim编辑器里,通过在命令模式下2K跳转查询;也可以在终端中man 2 命令查询
a. int open( const char *pathname, int flags,[mode_t mode])
返回值:成功返回文件描述符,失败返回-1
flags参数可以填写: O_RDONLY, O_WRONLY, O_RDWR分别表示只读、只写、可读可写, O_CREAT 没有就创建该文件
mode参数与flags参数有关,如果flags参数为O_CREAT, 该参数为新建文件的权限值,一般用8进制位传入,方便阅读;且与外部umask掩码有关,权限为mode-umask
需要包含下面头文件
#include <fcntl.h>
#include <sys/stat.h>

b. ssize_t read(int fd, void *buf, size_t count)
返回值:成功返回读取的字符长度,0说明读到了文件的结尾,失败返回-1,并且设置errno

errno 函数头文件 #include <errno.h>
输出错误信息:perror("error is ")

fd : 文件描述符
读取count个字符放到buf中

c. int close(int fd)
返回值:成功返回0,失败返回-1,并设置errno
关闭文件

/*
读文件 输出到终端
*/
#include<stdio.h>
#include <errno.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>int main(int args,char* argv[]){int fd = open(argv[1], O_RDONLR);if(fd==-1){perror("open error");exit(1);}int len;char buf[1024];while((len=read(fd,buf,sizeof(buf)))!=0){if(len==-1){perror("read error");exit(1);}for(int i=0;i<len;i++){printf("%c",buf[i]);}printf("\n");}close(fd);return 0;
}

d. ssize_t write(int fd, const void *buf, size_t count)
作用:向文件描述符fd指向的文件,写入count个buf其实地址开始的字符;
返回值:成功返回写入成功的字节数,错误返回-1,且设置errno

e. off_t lseek(int fd, off_t offset, int whence)
作用:将光标移到whence位置
offset: 偏移位置
whence常用参数:

SEEK_SET: 移动到设置的offset位置
SEEK_CUR: 移动到现在光标+offset位置
SEEK_END:移到到文件末尾+offset位置

f. dup2(int oldfd, int newfd)
作用:用newfd指向oldfd文件描述符

/*
文件名:file_write_arm.c
作用:写文件与显示写入内容
author: LiuGuoyong
date:2023/12/27
*/
#include<stdio.h>
#include <errno.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>int main(int args,char* argv[]){int fd = open(argv[1], O_WRONLY|O_CREAT,0777);int fd2 = open(argv[2], O_WRONLY|O_CREAT,0777);char buf[2] = {'1','0'}; dup2(STDOUT_FILENO,fd); //将fd指向了标准输出,向fd中写入会直接显示到终端中if(fd==-1){perror("open fd error");exit(1);}if(fd2==-1){perror("open fd2 error");exit(1);}while(1){lseek(fd,0,SEEK_SET);lseek(fd2,0,SEEK_SET);write(fd,buf,1);write(fd2,&buf[1],1);sleep(2);lseek(fd,0,SEEK_SET);lseek(fd2,0,SEEK_SET);write(fd,&buf[1],1);write(fd2,buf,1);sleep(2);}close(fd);close(fd2);return 0;
}

在这里插入图片描述
在这里插入图片描述

2. 进程

  1. pid_t fork()创建子进程
    返回值:0:子进程,-1:失败,并且生成errno,>0: 子进程pid号
  2. waitpid(pid_t pid,int *wstatus, int options)回收子进程
    pid:

    -1 任意子进程
    < < <-1 回收进程组id等于 pid的绝对值
    0 子进程创建过程
    > > > 0 子进程pid号

  3. pid_t getpid() 获取进程id
/*
名称:pid_arm.c
*/#include <unistd.h>
#include <stdio.h>
#include <sys/wait.h>int main(void){pid_t pid;int i = 0;for(;i<5;i++){if((pid = fork())==0)break;}	if(i == 5){sleep(5);waitpid(-1,NULL,0);printf("pid is %d\n",getpid());}else{sleep(i);printf("pid is %d\n",getpid());}return 0;
}

编译发送同前;
效果:

http://www.yayakq.cn/news/956175/

相关文章:

  • 横泉水库建设管理局网站镇海区建设交通局网站进不去了
  • 制作网站代码大全网页网站制作公司
  • 淘宝做的网站优化wordpress 如何加速
  • 长春网站设计880元室内设计案例网
  • 系统官网网站模板下载最新网站域名ip地址查询
  • 网站怎么推广软文wordpress上传服务器域名
  • 网站上传 404wordpress安装不来
  • 电脑自助建站黄骅港船舶动态
  • 做网站和优化共多少钱?wordpress同时使用双主题
  • 网站建设怎样提升形象与品牌价值什么网站可以兼职做平面设计
  • 广东省城乡和建设厅网站django校园网站开发
  • 网站被挂了黑链北京建设银行支行查询官方网站
  • 沈阳做网站哪家便宜具有价值的做网站
  • 丽水开发区建设局网站廉租房wordpress 防采集插件
  • 网站定制营销的过程wordpress中文站点
  • 新网站上线怎么做seo教育网站制作企业
  • 做模型常说的d站是什么网站中山建网站公司
  • 自适应影视网站模板h5企业网站模板
  • 山东建设厅网站专职安全员做静态网站需要成本吗
  • 公司网站建设方案模板下载服务器网站建设流程图
  • 有没有专门做标书的网站网站建设报价明细表
  • 建设 银行网网站创世网站建设
  • 做网站的时候遇到的问题asp网站建设源码
  • 18岁以上准备好纸巾免费网站博客是哪个软件
  • 妇联网网站建设工作合肥网络营销公司
  • 电商网站建设目的个人网站建设 免费下载
  • 网站付款接口这么做网站做的比较好的
  • win10 做网站服务器吗做网站的软件多少钱
  • 怎么制作做网站广州网站建设定制费用
  • 备案个人可以做视频网站吗wordpress厨房家居主题