看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《cloudlim (OswinC)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : VC++ (但寫的是C) : 問題(Question): : 各位先進前輩們好, 小弟無知有個小問題想打擾一下 : 我用mode "r+b"開啟一個binary檔後, 想獲得在檔案尾端輸出的位置 : 但C好似是輸入游標跟輸出游標共用(只有fseek) : 所以如果我用fseek(file, 0, SEEK_END)再ftell(file)的方法 : 會有兩種不同情況發生: : 1. 假設該檔案已存在3個byte 我得到的是3 : 需要再加上1才是接著寫入的位置 這裡我不太懂 如果 size 是 3,表示 0, 1, 2 有東西了 所以下一個要寫入的位置是 3 沒錯 為什麼要加一? : 2. 假設該檔不存在 我得到的是0 : 不須加上1就是接著寫入的位置 : 在C++似乎可以用tellp method得到輸出游標位置 : 請問在C有沒有方法可以不用分辨檔案是否已存在的case : 就直接得到輸出位置的漂亮方法呢? @@" : 謝謝囉 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.49
cloudlim:阿..!!!!! 對喔 昏頭了我 XDDD 05/05 18:37
cloudlim:哈哈 好尷尬 超蠢的 QQ" 05/05 18:37