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);
看看是什么原因
總結
以上是生活随笔為你收集整理的linux下fopen的路径怎么写,linux下fopen函数的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenLDAP介绍与说明
- 下一篇: Mondrian vs Elastics