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

钦州网站建设网站建设人员培训

钦州网站建设,网站建设人员培训,seo和sem,php mysql网站开发全程实例.pdf1.引言 为了学习linux系统下的app开发&#xff0c;记载了学习文件编程的笔记 2.open函数 功能 打开一个文件 头文件 #include<sys/stat.h> #include<fcntl.h> 函数形式 int open(const char* pathname, int flags, mode_t mode); 返回值 如果调用成功&#xff0c…

1.引言

为了学习linux系统下的app开发,记载了学习文件编程的笔记

2.open函数

功能

        打开一个文件

头文件

        #include<sys/stat.h> #include<fcntl.h>

函数形式

         int open(const char* pathname, int flags, mode_t mode);

返回值

        如果调用成功,则返回文件描述符号,标识文件资源,后续会使用。 如果调用出错,则会返回-1

参数

        pathname:打开的文件名(含路径)。

        flags: 文件访问模式的bit mask。

        mode: 文件权限模式

3. 使用案例

copy文件的案例

文件如下,名字:copy_file.c

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h> 
#include <errno.h>#define BUFFER_SIZE 1024 int main(int argc,char *argv[]) 
{ int from_fd,to_fd; int bytes_read,bytes_write; char buffer[BUFFER_SIZE]; char *ptr; //参数防卫,命令选项必须输入3个参数if(argc!=3) { fprintf(stderr,"Usage:%s fromfile tofile/n/a",argv[0]); exit(1); } //以只读的方式打开第一个参数(文件路径)if((from_fd=open(argv[1],O_RDONLY))==-1) { //打开失败fprintf(stderr,"Open %s Error:%s/n",argv[1],strerror(errno)); exit(1); } // Constant Octal	value	Permission	bit
// S_ISUID	04000	Set-user-ID
// S_ISGID	02000	Set-group-ID
// S_ISVTX	01000	Sticky
// S_IRUSR	0400	User-read
// S_IWUSR	0200	User-write
// S_IXUSR	0100	User-execute
// S_IRGRP	040	    Group-read
// S_IWGRP	020	    Group-write
// S_IXGRP	010	    Group-execute
// S_IROTH	04	    Other-read
// S_IWOTH	02	    Other-write
// S_IXOTH	01	    Other-execute// Flag         describtion
// O_RDONLY     Open for reading only v3
// O_WRONLY     Open for writing only v3
// O_RDWR       Open for reading and writing v3
// O_CLOEXEC    Set the close-on-exec flag (since Linux 2.6.23) v4
// O_CREAT      Create file if it doesn’t already exist v3
// O_DIRECT     File I/O bypasses buffer cache
// O_DIRECTORY  Fail if pathname is not a directory v4
// O_EXCL       With O_CREAT: create file exclusively v3
// O_LARGEFILE  Used on 32-bit systems to open large files
// O_NOATIME    Don’t update file last access time on read() (since Linux 2.6.8)
// O_NOCTTY     Don’t let pathname become the controlling terminal v3
// O_NOFOLLOW   Don’t dereference symbolic links v4
// O_TRUNC      Truncate existing file to zero length v3
// O_APPEND     Writes are always appended to end of file v3
// O_ASYNC      Generate a signal when I/O is possible
// O_DSYNC      Provide synchronized I/O data integrity (since Linux 2.6.33) v3
// O_NONBLOCK   Open in nonblocking mode v3
// O_SYNC       Make file writes synchronousif((to_fd=open(argv[2],O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR))==-1) { fprintf(stderr,"Open %s Error:%s/n",argv[2],strerror(errno)); exit(1); } while(bytes_read=read(from_fd, buffer, BUFFER_SIZE)) { if((bytes_read==-1)&&(errno!=EINTR)) {break;}    else if(bytes_read > 0) { ptr = buffer; while(bytes_write=write(to_fd,ptr,bytes_read)) { if((bytes_write==-1)&&(errno!=EINTR))break; else if(bytes_write==bytes_read)break; else if(bytes_write>0) { ptr+=bytes_write; bytes_read-=bytes_write; } } if(bytes_write==-1)break; } } close(from_fd); close(to_fd); exit(0); 
} 

编译用Makefile

TARGET := app
#src file
SRC := copy_file.call:$(TARGET)@echo "make successfull"$(TARGET): $(SRC)@echo $(SRC)gcc  $^ -I. -o $@clean:rm $(TARGET).PHONY:all,clean

ubuntu系统下使用gcc编译通过,运行实例如下

终端命令:./app copy_file.c a.c
结果展示命令: ll
total 41
drwxrwxrwx 1 root root  4096 May 25 23:05 ./
drwxrwxrwx 1 root root     0 Mar  8 21:31 ../
-rwxrwxrwx 1 root root  3165 May 25 23:05 a.c*    --->(复制成功的新文件)
-rwxrwxrwx 1 root root 17056 May 25 23:04 app*
-rwxrwxrwx 1 root root  3165 May 25 23:04 copy_file.c*

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

相关文章:

  • 网站推广开户站长百度
  • 怎么帮助网站推广网站建设广告
  • 青岛做网站找什么公司吉林建筑信息平台
  • 石家庄知名网站北京市建设工程信息网查询
  • 做一个网站要怎么做无锡网站建设技术
  • 优秀的网站首页免费建设淘客网站
  • 洪梅仿做网站wordpress调用用户头像
  • 如何写一份网站优化建设的方案wordpress页面添加侧边栏
  • 福建建设资格管理中心网站青岛黄岛区建设工程管理局网站
  • 河北建设工程信息网站html5网站模板
  • 罗源福州网站建设免费小程序网站
  • 拼多多网站建设方案seo外包如何
  • 福建漳州网站建设哪家便宜广州网站优化排名哪家好
  • 网站功能优化的方法企业解决方案提供商
  • 网站开发学习什么株洲网站建设优度
  • 网站登录如何做做广告的怎么找客户
  • 生物商城网站建设黄埔网站建设价格
  • 云南旅行社网站开发小程序会员系统开发
  • 建设一个最普通网站要多少钱奥凯航空公司官方网站
  • 大丰做网站找哪家好小程序卖货怎么样
  • 上弘科技网站建设公司网站app怎么做
  • 免费网站建设哪个好 - 百度高清做视频在线观看网站
  • 网站发布方式有哪些企业推广专员招聘
  • 网页游戏网站网址大型企业网络规划方案
  • 网站的推广方案关键词查询工具
  • 高品质的网站开发微信网站有什么作用
  • 成都网站建设推广好专业网页网站设计图书
  • 盐城网站开发代理商深圳网站建设去哪里
  • 网站制作报价是否合法html写一个心形网页
  • 南宁建设信息网站网站关站