Hallo,
ich habe schon im Netz gesucht, doch nirgends eine passende Antwort gefunden.
Ich möchte eine Datei zeilenweise parsen, das mache ich momentan mit fgets().
In jeder Zeile steht ein bestimmtes Muster, z.B.
LOAD <filename> AS <table>
INSERT INTO <table> <value1>, <value2>, <value2>, ...
Der String in den Spitzen klammern soll gespeichert werden, das LOAD ... ist nur dafür da, um herauszufinden, welche Operation durchgeführt werden soll. Jede Zeile soll natürlich auf ihre
Korrektheit geprüft werden.
Ich weiss nicht, wie ich das am Besten parse, ein Ansatz war:
if (sscanf(line, "LOAD %s AS %s", filename, table) == 2) {
// mach was
}
Zwar funktioniert das so halb, aber nicht so wie es sein muss. Wenn ich an dem AS etwas anhänge (ASAS), dann interpretiert er das immer noch alls korrekt.
Wie kann man da am besten vorgehen?
ich habe schon im Netz gesucht, doch nirgends eine passende Antwort gefunden.
Ich möchte eine Datei zeilenweise parsen, das mache ich momentan mit fgets().
In jeder Zeile steht ein bestimmtes Muster, z.B.
LOAD <filename> AS <table>
INSERT INTO <table> <value1>, <value2>, <value2>, ...
Der String in den Spitzen klammern soll gespeichert werden, das LOAD ... ist nur dafür da, um herauszufinden, welche Operation durchgeführt werden soll. Jede Zeile soll natürlich auf ihre
Korrektheit geprüft werden.
Ich weiss nicht, wie ich das am Besten parse, ein Ansatz war:
if (sscanf(line, "LOAD %s AS %s", filename, table) == 2) {
// mach was
}
Zwar funktioniert das so halb, aber nicht so wie es sein muss. Wenn ich an dem AS etwas anhänge (ASAS), dann interpretiert er das immer noch alls korrekt.
Wie kann man da am besten vorgehen?