我試圖找到一個解決方案,但我沒有找到任何解決我的問題。在C++中的解析器/拆分常量字符*
我有一個C++程序,收到const char*
變量(filedata
)和大小(filesize
)。該變量的內容是csv格式。每個字段由';'分隔。內容也是動態的,並且可能有更多或更少的內容,因爲這個變量表示一組日誌。還有一個分隔符\n
來表示換行符。
例FILEDATA的1:fildedata的
const char* filedata =
"1496843100;2017-06-07 13:45:00;000002D8;2800;0x23000CCD.VARIABLE67\n"
"1496843100;2017-06-07 13:45:00;000002D9;2800;0x23000CCD.VARIABLE68";
實施例2:
const char* filedata =
"1496843100;2017-06-07 13:45:00;000002D8;2800;0x23000CCD.VARIABLE67\n"
"1496843100;2017-06-07 13:45:00;000002D9;2800;0x23000CCD.VARIABLE68\n"
"1496843100;2017-06-07 13:45:00;000002DA;2800;0x23000CCD.VARIABLE69";
如果看到實施例1僅具有2行,和實施例2中有3條線。我從來不知道我有多少行。我可以有2,3,200,1000等行和filedata
變量保存所有內容。
所以我的目標是要接收該filedata
可變(I還可以訪問文件大小)和每行我需要解析領域1和2(時間戳和在正常格式的數據)。
預期輸出(對於實施例2):
1496843100 2017-06-07 13:45:00
1496843100 2017-06-07 13:45:00
1496843100 2017-06-07 13:45:00
在實施例2我有3條線,所以需要迭代所有行和每行解析的具體領域,非常相似的輸出。 。 在此之後我挑每個語法分析器字段並保存到對象列表(此部分已實現我只是遇到問題解析filedata
[?拆分C++中的字符串(的可能的複製https://stackoverflow.com/questions/236129/split-a-海峽ing-in-c) –
感謝您的回覆。是的,它幫助我部分分隔';'。但我不能編輯代碼只是爲了削減我想要的每一行的「列」。在這個例子中,我用「;」分隔所有的列,但我不想要所有的列。 – rrpik93
只需拆分並忽略不需要的列。 –