簡體   English   中英

有沒有辦法在C中將文件指針設置為彼此相等?

[英]Is there a way to set file pointers equal to each other in C?

例如,如果我有

FILE *fp, *tfp;

fp = fopen (file, mode);

tfp = fp;

這可能嗎?

是的,這是可能的,而且完全合法。

fptfp都是指向FILE類型變量的指針tfp = fp; 將保存在fp中的地址復制到tfp中。 因此,請記住,最終會有兩個指向同一對象的指針。

您根本不需要復制在fopen()調用中創建的“對象”。

是的,有可能。 畢竟,這些只是指針。 您可以擁有包含相同指針的任意多個變量,而沒人能區分它們。

這是對的。 但是最好的學習方法是嘗試。 在調試器下啟動此代碼,並檢查它是否按預期工作。

指針變量(FILE * fp)僅包含一個地址(一個數字)。 你可以看到:

printf( "%p\n", fp );

因此,分配相同類型的數字是完全合法的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM