-
Как разбить следующее...
Доброго времени суток господа, вопрос вот в чем. В базе (в таблице), я храню склады армий как "массив", через запятую. Т.е. получается: 0,0,50,100,55,135 (где 0,0 - СВ | 50 - ВВС материалы, 100 - ВВС патроны | 55 - ВМФ материалы, 135 - ВМФ патроны).
При загрузке, мне нужно это все как то дело разбить, что бы следующее например: 0,0,50,100,55,135, разбилось в gArmyWarehouse[3][2], чтобы конечный результат был таким:
PHP код:
gArmyWarehouse[0][0] = 0
gArmyWarehouse[0][1] = 0
gArmyWarehouse[1][0] = 55
gArmyWarehouse[1][1] = 100
gArmyWarehouse[2][0] = 55
gArmyWarehouse[2][1] = 135
Как такое сделать?
-
-
Цитата:
Сообщение от
Alpano
sscanf.
Да ты что? Так можешь покажешь как? В одномерный массив я могу и сам разбить, а в двумерный как?
-
Чет не догнал, но попробуем так:
sscanf(String,"dddddd",gArmyWarehouse[0][0],gArmyWarehouse[0][1],gArmyWarehouse[1][0],gArmyWarehouse[1][1],gArmyWarehouse[2][0],gArmyWarehouse[2][1]);
-
PHP код:
sscanf(string, "p<,>dddddd",
gArmyWarehouse[0][0],
gArmyWarehouse[0][1],
gArmyWarehouse[1][0],
gArmyWarehouse[1][1],
gArmyWarehouse[2][0],
gArmyWarehouse[2][1]);
Как научиться использовать sscanf2
-
Если и использовать sscanf, то нормально:
PHP код:
new gArmyWarehouse[6][2];
sscanf("0,0,50,100,55,135", "p<,>a<i>[12]", gArmyWarehouse[0]);
Можно ещё воспользоваться костылём с подсчётом размера массива:
PHP код:
new fmt[16];
format(fmt, sizeof(fmt), "p<,>a<i>[%d]", sizeof(gArmyWarehouse) * sizeof(gArmyWarehouse[]));
sscanf("0,0,50,100,55,135", fmt, gArmyWarehouse[0]);
Жаль, что в Pawn нельзя встраивать в строки произведение констант, что-то вроде #(6 * 2).