牛客项目笔记

文章介绍了C++中的字符串表示,如使用char数组和printf打印,以及四种类型转换cast的用途。接着,讨论了Linux文件描述符的分配机制和常用的系统IO函数,如open、close、read、write等。此外,提到了man指令用于获取Linux命令帮助,以及stat结构体在文件状态查询中的应用。最后,对比了C标准库与Linux系统函数在IO操作上的差异,包括缓冲区的使用。
摘要由CSDN通过智能技术生成

一·牛客知识点刷题笔记:

  1. 在上下文及头文件均正常的情况下,程序
char c[5]={'a', 'b', '\0', 'c', '\0'}; 
printf("%s", c);

的运行结果是: ab
printf函数打印字符串,遇到空字符结束。\0表示字符串结束符
2. static_cast 用于良性转换,一般不会导致意外发生,风险很低。
dynamic_cast 借助 RTTI,用于类型安全的向下转型(Downcasting)。
const_cast 用于 const 与非 const、volatile 与非 volatile 之间的转换。
reinterpret_cast 高度危险的转换,这种转换仅仅是对二进制位的重新解释,不会借助已有的转换规则对数据进行调整,但是可以实现最灵活的 C++ 类型转换。
3.

6 文件IO
Linux里的文件描述符,1、0-1023的整数(0、1、2默认已经使用了),一旦新的文件打开,就把当前没有使用的最小的整数分给这个fd,

6.5 Linux系统IO函数()
一些用到的linux tips:

man xx  // 查看 xx指令的帮助文档

man指令,查看linux帮助文档,

//open 打开文件,没有则创建
int open(const char *pathname,int flags);
int open(const char *pathname,int flags, mode_t mode);
int close(int fd);
ssize_t read(int fd,void *buf, size_t count);
ssize_t write(int fd,const void *buf, size_t count);
off_t lseek(int fd,off_t offset,int whence);
int stat(const char *pathname,struct stat *statbuf);
int lstat(const char *pathname,struct stat *statbuf);

stat结构体

struct stat{
	......

}

Linux的系统IO函数和C语言的标准C库的区别:
C语言的标准C库会用到Linux的系统IO函数
C语言的标准C库有缓冲区,Linux的系统IO函数无缓冲区
C语言的标准C库相当于一个第三方库,是对Linux系统函数的封装;Linux系统函数就是本地库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值