2013-05-03 33 views
2

是否有一些C庫實現平臺獨立版本的路徑操作?C是否有任何跨平臺文件IO /路徑實用程序庫?

浮現在腦海中的一些例子:

  • 獲取從一個相對的絕對路徑(無需文件存在)
  • 確保目錄存在。
  • 如果文件不存在,則創建文件,缺少給定路徑中的任何目錄。
  • 連接路徑。
  • 獲取路徑的目錄部分。
  • 獲取路徑的文件名部分。
  • 地段更....

有這些課程平臺特定版本的,但他們幾乎沒有做完全,導致混亂,設法滿足跨平臺的行爲同樣的事情。

而我的意思是C,而不是C++,所以提升不算。

此外,如果沒有,是否有任何良好的資源/平臺之間的差異的例子,以及可用於編寫這樣的圖書館的其他有用的信息?

回答

2

永遠不錯glib family (part of GTK+)有一些,至少。

請注意,您所描述的某些功能(例如「從相對路徑獲取絕對路徑」)假設存在當前目錄,這就是通常完成該分辨率的方式。這不是一個非常「純粹」的功能,因爲它依賴於外部狀態。在Windows中,使用其「分割文件系統」,每個捲上甚至有一個當前目錄(例如,一個用於C:\,一個用於A:\,如果有的話,等等)。

相關問題