我想讀取包含數據庫表(TPCH)的CSV文件。每個文件具有不同數量的列,行和數據類型。C++使用不同數據類型在列式存儲中讀取CSV表
例如:
file1: Int, double, char[]
file2: double, char[], int, int
一個進一步的要求是每列應駐留在一個陣列(對於每一列的陣列 - 不每行)。
我的解決方案:與新視數據類型和CSV文件的
e.g. file1: would be int[] , double[]...
然後我存儲我的數組作爲起始地址的大小運行目前我創建數組一個void *在地圖上(int,void *)。
當我想從數組中讀取值時,我必須檢索void *並根據類型進行投射。
正如你可以看到我有很多指針和鑄造哪些是調皮的。有沒有更好的方法來存儲一個表在列表格式?我想使用數組,因爲我經常複製它們並通過網絡傳輸它們。另外,我不想使用boost庫。
非常感謝你。與矢量點是我需要一個地圖,我可以存儲矢量,但他們有不同的類型,如矢量(int)或矢量(雙)。是否有可能將這些不同的矢量類型存儲在一張地圖中? 如果我聽錯了,只是糾正我,但我需要存儲的起始地址,因爲我的數組是動態分配的,並駐留在堆。 – Goaty
有'的boost :: any'或'的boost :: variant',但如果你不能使用它們,我們需要考慮的另一種方法。 – informaticienzero