回文章列表
作者Storm.bbs@bbs.sayya.org (風) 看板: linux
標題Re: [問題] 讀取指定檔案路徑
時間SayYA 資訊站 (2008/05/09 Fri 00:45:25)
※ 引述《HenryCheng.bbs@ptt.cc (......)》之銘言:
> 想請教一個小問題
> 我用fopen寫了一個小程式想要讀取檔案
> 為了程式移植方便  我想用一個共用的路徑
> 可是當我把路徑寫 ~/abc.conf  他卻找不到
> 除非改成絕對路徑 /home/user/abc.conf
> 請問有人有同樣的問題嗎?  該怎麼解決呢?
> 謝謝

    我想這是因為 "~" (tilde) 是由 shell 做展開代換的,而你直接傳給 fopen
    的參數有 ~ 符號時,shell 管不到你程式裏面怎麼寫,因此 fopen 會失敗。
    關於 tilde expansion 請參考 shell 的 manpage,例如 bash 的 "Tilde
    Expansion" 那一節。大致上, ~ 符號會被 shell 展開為 $HOME 環境變數
    的內容,因此可能的解決方式就是利用 stdlib 的 getenv() 取得 $HOME 的
    內容。


--
※ Origin: SayYA 資訊站 <bbs.sayya.org> 
◆ From: adsl-070-155-125-254.sip.asm.bellsouth.net
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻