Guten Abend Breadfish,
Ich habe zurzeit ein Problem mit sscanf.
Ich lasse meine Tankstellen aus einer MySQL Datenbank auslesen.
Jedoch übergibt sscanf die Falschen werde an die Varriabeln?
Hier der Code zum Laden:
stock LoadTankstellen()
{
print("[Tankstellen] Laden...");
new query[30], daten[512], string[128], idx;
format(query, sizeof(query), "SELECT * FROM `tankstellen`");
mysql_query(query);
mysql_store_result();
if(mysql_num_rows())
{
while(mysql_fetch_row(daten))
{
print(daten);
sscanf(daten, "e<p<|>iffffiii>", Tankstelle[idx]);
printf("[DEBUG] %d | %f | %f | %f | %f | %d | %d | %d",Tankstelle[idx][TID],Tankstelle[idx][TPosX],Tankstelle[idx][TPosY],Tankstelle[idx][TPosZ],Tankstelle[idx][TRadius],Tankstelle[idx][TFuel],Tankstelle[idx][TPreis],Tankstelle[idx][TType]);
idx++;
}
printf("[Tankstellen] Es wurden %d Tankstellen geladen!",idx);
}
else print("[ERROR] Keine Tankstellen zum Laden in der Datenbank!");
mysql_free_result();
return 1;
}
Ausgegeben wird dies hier:
[04.07.2011 - 21:53:31] [Tankstellen] Laden...
[04.07.2011 - 21:53:31] 1|1004.06|-937.534|42.3281|6|3321|5|0
[04.07.2011 - 21:53:31] [DEBUG] 1 | -1.509126 | 1004.059997 | -937.533996 | 42.328098 | 3321 | 5 | 0
[04.07.2011 - 21:53:31] 3|1942.38|-1772.78|13.6406|6|83|4|0
[04.07.2011 - 21:53:31] [DEBUG] 3 | -0.000009 | 1942.380004 | -1772.780029 | 13.640600 | 83 | 4 | 0
[04.07.2011 - 21:53:31] 5|-91.0254|-1169.44|2.4186|6|687|5|0
[04.07.2011 - 21:53:31] [DEBUG] 5 | -0.000009 | -91.025398 | -1169.439941 | 2.418600 | 687 | 5 | 0
[04.07.2011 - 21:53:31] 7|-1606.46|-2713.79|48.5335|6|9467|3|0
[04.07.2011 - 21:53:31] [DEBUG] 7 | -0.000009 | -1606.459960 | -2713.790039 | 48.533500 | 9467 | 3 | 0
[04.07.2011 - 21:53:31] 9|-2029.49|156.391|28.8359|6|11|3|0
[04.07.2011 - 21:53:31] [DEBUG] 9 | -0.000009 | -2029.489990 | 156.391006 | 28.835899 | 11 | 3 | 0
[04.07.2011 - 21:53:31] 11|-2410.81|976.161|45.4609|8|8237|6|0
[04.07.2011 - 21:53:31] [DEBUG] 11 | -0.000009 | -2410.810058 | 976.161010 | 45.460899 | 8237 | 6 | 0
[04.07.2011 - 21:53:31] 13|-2244.14|-2560.87|31.9219|5|9985|3|0
[04.07.2011 - 21:53:31] [DEBUG] 13 | -0.000009 | -2244.139892 | -2560.870117 | 31.921899 | 9985 | 3 | 0
[04.07.2011 - 21:53:31] 15|-1676.19|413.576|7.1797|8|158|4|0
[04.07.2011 - 21:53:31] [DEBUG] 15 | -0.000009 | -1676.189941 | 413.575988 | 7.179699 | 158 | 4 | 0
[04.07.2011 - 21:53:31] 17|2202.23|2474.35|10.8203|6|4813|4|0
[04.07.2011 - 21:53:31] [DEBUG] 17 | -0.000009 | 2202.229980 | 2474.350097 | 10.820300 | 4813 | 4 | 0
[04.07.2011 - 21:53:31] 19|614.933|1689.74|6.6968|10|7303|3|0
[04.07.2011 - 21:53:31] [DEBUG] 19 | -0.000009 | 614.932983 | 1689.739990 | 6.696800 | 7303 | 3 | 0
[04.07.2011 - 21:53:31] 21|-1328.41|2677.53|50.0625|8|9883|5|0
[04.07.2011 - 21:53:31] [DEBUG] 21 | -0.000009 | -1328.410034 | 2677.530029 | 50.062500 | 9883 | 5 | 0
[04.07.2011 - 21:53:31] 23|70.5711|1218.69|18.8126|6|9275|2|0
[04.07.2011 - 21:53:31] [DEBUG] 23 | -0.000009 | 70.571098 | 1218.689941 | 18.812599 | 9275 | 2 | 0
[04.07.2011 - 21:53:31] 25|2115.03|919.99|10.8203|8|9659|3|0
[04.07.2011 - 21:53:31] [DEBUG] 25 | -0.000009 | 2115.030029 | 919.989990 | 10.820300 | 9659 | 3 | 0
[04.07.2011 - 21:53:31] 27|655.812|-565.009|16.3359|6|9635|7|0
[04.07.2011 - 21:53:31] [DEBUG] 27 | -0.000009 | 655.812011 | -565.008972 | 16.335899 | 9635 | 7 | 0
[04.07.2011 - 21:53:31] 29|1382.28|460.154|20.3452|8|9911|4|0
[04.07.2011 - 21:53:31] [DEBUG] 29 | -0.000009 | 1382.280029 | 460.153991 | 20.345199 | 9911 | 4 | 0
[04.07.2011 - 21:53:31] [Tankstellen] Es wurden 15 Tankstellen geladen!
Alles anzeigen
Wäre schön wenn jemand eine idde hätte.
PS: Auf meinem Homeserver funktioniert alles nur auf meinem VServer nicht (Linux)
MFG, Zunno
/EDIT: Code angepasst..