Linux系统编程初探系列之一:文件编程
系统函数 int creat(const char* filename,mode_t mode)
filename:需要创建的文件名(包含路径,缺省为当前路径)
mode:创建模式
常见的创建模式有:S_IRUSR------可读
S_IWUSR-----可写
S_IXUSR-----可执行
S_IRWXU-----可读、可写、可执行
除了用上述宏 还可以用数字来表示文件的访问权限
1------->可执行
2------->可写
4------->可读
6------->可读可写
7------->可读可写可执行
0------->无任何权限
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h> void create_file(char *filename)
{
/*创建的文件具有可读可写的属性*/
if(creat(filename,)<)
{
printf("create file %s failure!\n",filename);
exit(EXIT_FAILURE);
}
else
{
printf("create file %s success!\n",filename);
}
} int main(int argc,char *argv[])
{
/*判断入参有没有传入文件名 */
if(argc<)
{
printf("you haven't input the filename,please try again!\n");
exit(EXIT_FAILURE);
}
for(i=;i<argc;i++)
{
create_file(argv[]);
}
exit(EXIT_SUCCESS);
}

程序点评:
1.creat(filename,0666) -------666的权限分别对应于文件所有者,文件所有者所在组,其他用户
2.int main(int argc,char*argv[])----------------在执行程序的时候,argc是输入参数个数,argv[]是保存着文件名(本质是字符串地址)
所以在执行程序时,在命令端输入 ./file_creat test 才能创建文件
argc 命令行的总的参数个数(即使 运行程序./file_creat 后面没有文件,个数也是1)
记录了用户在运行程序的命令行中输入的参数的个数
argv[]存储argc个指针变量的数组
其中第0个元素是程序名,后面的元素是用户输入的参数
Linux系统编程初探系列之一:文件编程的更多相关文章
- linux系统下怎么安装.deb文件
linux系统下怎么安装.deb文件? deb 是 ubuntu .debian 的格式.rpm 是 redhat .fedora .suse 的格式. 他们不通用(虽然可以转换一下). deb是de ...
- linux系统下,递归删除.svn文件
linux系统下,递归删除.svn文件 SVNLinux 进入要删除的目录,执行下面的命令就可以啦. find . -name "*.svn" | xargs rm -rf
- 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全
日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下: ...
- linux系统下怎么安装.deb文件?
linux系统下怎么安装.deb文件? deb 是 ubuntu .debian 的格式. rpm 是 redhat .fedora .suse 的格式. 他们不通用(尽管能够转换一下). deb是d ...
- Linux系统中如何查找大文件或文件夹的方法
在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件 ...
- Linux系统下的 /etc/fstab 文件解读
1 [root@localhost ~]# cat /etc/fstab 2 3 # 4 # /etc/fstab 5 # Created by anaconda on Sat Nov 3 12:03 ...
- 云服务器 ECS Linux 系统中常见的日志文件介绍
云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 cron ...
- Linux系统下如何运行.sh文件
在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...
- windows系统正常但linux系统下找不到文件的问题
问题描述:最近一个项目开发环境是windows系统,正式环境是linux系统.验证码图片在开发环境正常,但是在正式环境下一直报404. 问题原因:File dir = new File(realPat ...
- Linux系统查找清理磁盘大文件
本文主要介绍Linux系统磁盘使用空间不足时,如何查找大文件并进行清理的方法. 使用df-h检查一台服务器磁盘使用空间,发现磁盘已经使用了100%,其中/dev/mapper/vg_iavp-lv_r ...
随机推荐
- Cocos2d-x 截图功能
2.x-3.x版本 //获取屏幕尺寸 CCSize size = CCDirector::sharedDirector()->getWinSize ...
- memcached缓存技术
初学memcached缓存技术,如果文章写得不好还请谅解 应用环境:win7 实现环境:cmd,eclipse Memcached简洁而强大.它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存 ...
- java基础练习 6
public class Sixth { /*一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数.*/ public sta ...
- CodeForces 300C Beautiful Numbers
枚举,组合数,逆元. 枚举$a$用了$i$个,那么$b$就用了$n-i$个,这个时候和$sum=a*i+b*(n-i)$,判断$sum$是否满足条件,如果满足,那么答案加上$C(n,i)$. #inc ...
- IOS GCD图片数据异步下载,下载完成后合成显示
关于GCD使用详解,请看我的上一篇blog:http://www.cnblogs.com/xin-lang/p/6278606.html 前段时间遇到个需要异步下载,下载完成后再组合显示的东西.这里我 ...
- android两种方式获取AsyncTask返回值
获取AsyncTask返回值,在Activity中使用. 引用链接:https://www.oschina.net/code/snippet_725438_49858#72630 [1].[代码] [ ...
- git stash让bug来的更猛烈些吧
git stash可以用来暂存当前正在进行的工作,比如想pull最新的代码,又不想加新commit, 或者有一个紧急的bug需要修复,但是这个bug又与你已经在做的工作(还没完成)有关联.这个时候有的 ...
- vue+webpack构建项目
概述 -- 项目中会用到的插件 vue-router vue-resource 打包工具 webpack 依赖环境 node.js start 安装vue开发的模板 # 全局安装 vue-cli $ ...
- Leetcode easy
1. Two Sum Given an array of integers, return indices of the two numbers such that they add up to a ...
- php dday1... web服务器的搭建 数据库的安装....