簡體   English   中英

如何從文件中獲取枚舉值?

[英]How can i get an enum value from a file?

假設我有一個 .txt 文件,其中存儲了患者的個人數據列表。

Region   Unique Hospital Code  Surname  Name      FiscalCode/ID   Patient Status

  X           006              Rossi    Mario    RSSRMA56B76B249P       0

這是我的枚舉

enum patientStatus {
    HomeCare=0,
    HospitalCare,
    SubIntensiveCare,
    IntensiveCare,
    Recovered
};

我應該使用 %d 打印那個枚舉嗎?

我總是將枚舉值的字符串形式保存到文件中,例如"HomeCare""HospitalCare"等。

通過這種方式,您可以防止enum值具有不同的支持類型,甚至在程序重構期間被重新排序。 無需查閱手冊,您也可以閱讀該文件。

當然,將字符串轉換為枚舉器會產生一些開銷,因此需要做一些工作。 但在性能方面,I/O 仍將是瓶頸。

這取決於enum變量在您的特定系統上的大小。 它們不可移植 - 這是特定於編譯器的。 enum變量可能與sizeof(int)相同,也可能更小。

出於這個原因,在將它們寫入文件之前將它們轉換為可移植的uint32_t可能是明智的,然后將它們作為uint32_t讀取並從那里轉換回enum

暫無
暫無

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

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