linux下fopen的路径怎么写,linux下fopen函数的使用

请问在linux系统下使用fopen函数,文件名如何设置,比如根目录下mnt目录下的std.txt文件(std.txt最初不存在),是不是应该写成fopen("/mnt/std.txt","wb")。我这样写运行后返回值是NULL,表明打开失败。请问该如何写路径?

|

楼上说的那个, \ 是windows下的路径分隔符号.

我还是给出具体实例吧:

[henryfour@www test]$ cat a.c

#include

#include

#include

int main() {

FILE* file_desc;

file_desc = fopen("/mnt/std.txt", "wb");

if (file_desc == NULL)

printf("errorn");

return 0;

}

[henryfour@www test]$ ll /mnt/std.txt

-rw-r--r-- 1 root root 0 01-09 20:06 /mnt/std.txt

[henryfour@www test]$ ./a.out

error

[henryfour@www test]$ su -c "chmod o+w /mnt/std.txt"

口令:

[henryfour@www test]$ ./a.out

|

我觉得是权限相关。

换root运行一下程序。

需要对目录有可写权。

|

2 楼说得没错.

因为 mnt 一般是 drwxr-xr-x root root 的权限, 你没有创建文件的权限.

|

支持前面两楼

|

是这样的再输入文件路径的时候要注意:

你的方向错了应该是""这样的反斜杠而且要输入两个反斜杠

因为字符串中的1个反斜杠的意思就是说他是个转意字符只有\的时候才会显示出来1个字符向你的那个路径就应该写成fp=fopen("\mnt\yaffs\red.txt")

----

以上内容来自百度知道

http://zhidao.baidu.com/question/25081701.html?si=1

|

fopen后边加一句

perror(NULL);

看看是什么原因

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值