Linux下用c语言打开文件路径问题

Linux下用c语言打开文件路径问题,第1张

C语言程序也是启动一个进程, 所以他也也有环境变量, 默认是继承父进程的环境变量如果是shell界面直接启动, 那么就是继承shell的环境变量如果是其他程序启动这个那么就是继承那个程序的环境变量

首先没有搞清楚hello.html是可执行程序, 还是不可执行文件现在我默认把他当作可执行文件

./表示当前目录即执行当前目录下的hello.html如果没有则报错

而直接使用程序(hello.html)默认是先在PATH环境变量中查找如果PATH环境变量中没有则报错;

既然得到了这文件指针,你想怎么打开都行,无需知道以前是什么模式。

用open更新你想要的打开方式

o_rdonly

以只读方式打开文件

o_wronly

以只写方式打开文件

o_rdwr

以可读写方式打开文件。上述三种旗标是互斥的,

也就是不可同时使用,

但可与下列的旗标利用or(|)运算符组合。

o_creat

若欲打开的文件不存在则自动建立该文件。

o_excl

如果o_creat

也被设置,

此指令会去检查文件是否存在。文件若不存在则建立该文件,

否则将导致打开文件错误。此外,

若o_creat与o_excl同时设置,

并且欲打开的文件为符号连接,

则会打开文件失败。

o_noctty

如果欲打开的文件为终端机设备时,

则不会将该终端机当成进程控制终端机。

o_trunc

若文件存在并且以可写的方式打开时,

此旗标会令文件长度清为0,

而原来存于该文件的资料也会消失。

o_append

当读写文件时会从文件尾开始移动,

也就是所写入的数据会以附加的方式加入到文件后面。

o_nonblock

以不可阻断的方式打开文件,

也就是无论有无数据读取或等待,

都会立即返回进程之中。

o_ndelay

同o_nonblock。

o_sync

以同步的方式打开文件。

o_nofollow

如果参数pathname

所指的文件为一符号连接,

则会令打开文件失败。

o_directory

如果参数pathname

所指的文件并非为一目录,

则会令打开文件失败。

这是你要的

r

打开只读文件,

该文件必须存在。

r+

打开可读写的文件,

该文件必须存在。

w

打开只写文件,

若文件存在则文件长度清为0,

即该文件内容会消失。若文件不存在则建立该文件。

w+

打开可读写文件,

若文件存在则文件长度清为零,

即该文件内容会消失。若文件不存在则建立该文件。

a

以附加的方式打开只写文件。若文件不存在,

则会建立该文件,

如果文件存在,

写入的数据会被加到文件尾,

即文件原先的内容会被保留。

a+

以附加方式打开可读写的文件。若文件不存在,

则会建立该文件,

如果文件存在,

写入的数据会被加到文件尾后,

即文件原先的内容会被保留。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/8724502.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存