我想知道具有 open 函式的打開檔案的地址:
int fd = open("file" , O_RONLY);
現在我們有了這個打開檔案的 fd,如果我們需要讀取它,我們只需輸入:
read(fd, buffer, size);
例子:
file : | H | E | L | L | O | | W | O | R | L | D |
如果我們從該檔案中讀取 3 個字符:
int fd = open("file" , O_RONLY);read(fd, buffer, 3);
游標現在在這里: | H | E | {L} | 升| 哦| | W | 哦| R | 升| D |
問題:那么,我怎樣才能得到這個{L}字符的地址,或者第一個字符的地址{H}?我想知道這個打開檔案的地址而不使用“FILE F = fopen” *
uj5u.com熱心網友回復:
我想知道這個打開檔案的地址而不使用“FILE F = fopen”
哪有這回事。該檔案存在于磁盤上的某個位置,但在您打開并從中讀取一些資料之前,它在記憶體中沒有地址。
您所做的是read將檔案內容放入您提供的某個緩沖區中。該緩沖區有一個地址。該緩沖區中第三個字符的地址是buffer 2。
uj5u.com熱心網友回復:
我認為您正在對檔案的作業方式做出假設 - 而您不應該這樣做。這就是檔案操作函式的用途。無論您嘗試通過該指標做什么,您都需要找到一種方法來通過 libs 中定義的函式來實作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/379854.html
下一篇:輸出大小與預期不符
