C语言I/O练习

C语言I/O练习,创建链表存储学生信息, 使用write 保存到文件中从文件中读取链表, 打印结果。将一个文件内容拷贝到另一个文件中。
摘要由CSDN通过智能技术生成

打开文件

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

参数说明:

pathname: 打开文件的路径

flags : 打开标志

mode :  只要使用 O_CREAT标志,就要使用这个参数,设置权限

返回值:
成功返回文件描述符
失败返回-1
 

int main()
{
	umask(0);  //设置掩码的值

	int fd; 
    #if   0
    1、以只读的方式打开文件,如果文件不存在,打开失败, 文件存在打开成功,文件指针指向文件开始的位置!

    2、以只写的标志打开文件,如果文件不存在,打开失败, 文件存在打开成功, 默认不清空文件中的内容,文件指针指向开始位置

	3、一般以写方式打开文件,会将 O_CREAT|O_WRONLY|O_TRUNC,一起使用,  表示的含义是:
	   如果文件不存在, 以第三个参数的权限创建文件,并且以写的方式打开文件
	   如果文件存在, 以写的方式打开文件,并且清空文件中所有的内容

	4、默认情况下,新建文件的权限是 mode & (~umask), 如果不希望权限受到掩码的影响,可以直接将掩码设置为0

	5、以追加的方式打开文件,如果文件不存在,打开失败, 文件存在打开成功,文件指针指向文件尾部
	    ps :追加的方式作写操作,仍然要或上 O_WRONLY
#endif
	//fd = open("./data.txt", O_RDONLY);
	//fd = open("./data.txt", O_WRONLY);
	//fd = open("./data.txt", O_CREAT|O_WRONLY|O_TRUNC, 0777);
    fd = open("./data.txt", O_CREAT|O_APPEND|O_WRONLY, 0777);
	if(fd < 0)
	{
		perror("open");
		return -1;
	}

	printf("fd : %d\n", fd);
	return 0;
}

写文件

ssize_t write(int fd, const void *buf, size_t count);

 参数说明:

 fd : 文件描述符

 buf:  写数据的起始地址

 count : 数据的大小


返回值:
成功:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值