04.08.2011, 11:13
Привет всем. Вобщем тут возникла одна проблемка. У меня есть строка которая является результатом заброса к mysql. Вот она:
Я эту строку разбиваю в 1 enum и в два массива:
Делю я это так:
В результате sscanf ругается, что я какбы где-то забыл закрыть скобку:
И еще что я не указал размер массива/строки:
Я пробовал в различных комбинациях использовать p<> вот что из этого получалось.
Ошибок не выдвавал, но printf() выводил вот что:
В то время как должно быть:
Ну это ясно, я ведь не указал, что разделителем между массивами является "|". Но как это сделать, одновременно указав, что разделителями элементов массивов является ","?
Заранее спасибо.
P.S на англ форуме не писал, ибо англ знаю не очень.
Код:
1|2|N|15|70000|2522.87|-1343.69|31.0226|89.9235|3,0,0,0,0,0,0,0,0,0,0,0,0,0,0|Leonardo_Rivero,,,,,,,,,,,,,,
PHP код:
enum HOUSE_DATA
{
houseID,
houseType,
houseClass,
houseApartmentCount,
housePrice,
Float:houseX,
Float:houseY,
Float:houseZ,
Float:houseR
}
new gHouses[MAX_HOUSE_COUNT][HOUSE_DATA];
new gHouseOwnersID[MAX_HOUSE_COUNT][30];
new gHouseOwnersNick[MAX_HOUSE_COUNT][30][MAX_PLAYER_NAME];
PHP код:
mysql_query("SELECT * FROM `houses`");
mysql_store_result();
if(mysql_num_rows() >= MAX_HOUSE_COUNT) print("Кол-во домов в базе больше максимального");
else if(!mysql_num_rows()) print("Домов в базе не найдено");
else
{
for(new i;i<mysql_num_rows();i++)
{
new result[256];
mysql_fetch_row(result);
sscanf(result,"p<|>e<iiciiffff>p<,>a<d>[30]a<s[24]>[30]",gHouses[i],gHouseOwnersID[i],gHouseOwnersNick[i]);
printf("House %d[%c]: %s[%d]",gHouses[i][houseID],gHouses[i][houseClass],gHouseOwnersNick[i][0],gHouseOwnersID[i][0]);
gHousePickup[i] = CreateDynamicPickup(1273,1,gHouses[i][houseX],gHouses[i][houseY],gHouses[i][houseZ]);
}
}
mysql_free_result();
Код:
sscanf warning: Unclosed specifier parameter, assuming '<', consider using something like p<<>.
Код:
sscanf error: String/array must include a length, please add a destination size.
PHP код:
"p<|>e<iiciiffff>p<,>a<d>[30]a<s[24]>[30]"
Код:
House 1[N]: [3]
Код:
House 1[N]: Leonardo_Rivero[3]
Заранее спасибо.
P.S на англ форуме не писал, ибо англ знаю не очень.