Имя: Пароль:
IT
Админ
sprintf. Too few arguments
,
0 DirecTwiX
 
28.04.13
19:18
Кто знает php, помогите)

sprintf("(%1$s,%2$s,%3$s) %3$s", $value["a"], $value["b"], $value["c"]);
1 Капитан Смоллет
 
28.04.13
19:41
Сколько форматов и сколько аргументов посчитай. Скобки и тд..
2 HeroShima
 
28.04.13
19:48
sprintf("(%1$s,%2$s,%3$s) %4$s", $value["a"], $value["b"], $value["c"], $value["d"]);
не? (я плохо знаю чихпых)
3 DirecTwiX
 
29.04.13
11:51
Так указан порядок.. 1, 2, 3, 3
3х должно хватать.. Но почему-то не хватает)
4 Лефмихалыч
 
29.04.13
11:52
(0) там же написано "Too few arguments", в чем вопрос-то?
5 DirecTwiX
 
29.04.13
11:55
(4) Вопрос как раз в том, мочему их "Too few"
6 Лефмихалыч
 
29.04.13
11:57
(5)  потому, что надо на один больше, чем у тебя указано
7 Fragster
 
гуру
29.04.13
11:58
а не потому ли, что первым аргументом должен быть поток, куда писать?
8 Fragster
 
гуру
29.04.13
11:59
а, не, не поток, строка, в которую писать...

http://www.cplusplus.com/reference/cstdio/sprintf/

str
   Pointer to a buffer where the resulting C-string is stored.
   The buffer should be large enough to contain the resulting string.
format
   C string that contains a format string that follows the same specifications as format in printf (see printf for details).
... (additional arguments)
9 Fragster
 
гуру
29.04.13
12:00
почему никто в доки не смотрит никогда?
10 Лефмихалыч
 
29.04.13
12:03
+(6) а еще потому, что описатель позиции нужен для изменения порядка параметров, а не уменьшения их числа
11 DirecTwiX
 
29.04.13
12:14
(9) (10)
php.net

<?php
$format = 'На %2$s сидят %1$d обезьян.
          Как здорово, когда на %2$s сидят %1$d обезьян.';
printf($format, $num, $location);
?>
12 Fragster
 
гуру
29.04.13
12:14
(11) принтф == спринтф?
13 DirecTwiX
 
29.04.13
12:16
(12) string sprintf ( string $format [, mixed $args [, mixed $... ]] )
14 Fragster
 
гуру
29.04.13
12:18
ну тогда sprintf("(%1$s,%2$s,%3$s) %4$s", $value["a"], $value["b"], $value["c"], $value["c"]);
15 DirecTwiX
 
29.04.13
12:21
(14) Должно с тремя параметрами работать =\
16 Fragster
 
гуру
29.04.13
12:22
(15) кому?
17 DirecTwiX
 
29.04.13
12:49
(16) Мне. Чтобы выглядело красиво
18 Fragster
 
гуру
29.04.13
13:14
(17) ну напиши свою обертку, DTXprintf() которая бы анализировала формат и добавляла бы аргументы по номерам нужные...
19 DirecTwiX
 
29.04.13
14:59
(18) Велосипед? Судя по докам, такая возможность уже имеется. Мне просто было интересно, почему она не работает у меня.
20 Fragster
 
гуру
29.04.13
15:05
как по докам у меня работает
21 Fragster
 
гуру
29.04.13
15:05
$num = 99;
$location = 'africa';
$format = 'The %2$s contains %1$d monkeys.
          That\'s a nice %2$s full of %1$d monkeys.';
echo sprintf($format, $num, $location);
22 Fragster
 
гуру
29.04.13
15:05
поменяй двойные кавычки на одинарные
23 DirecTwiX
 
29.04.13
17:39
(22) Да.. Дело было в этом.
Спасибо!

Зато узнал, что значит доллар в двойных кавычках) Достаточно полезно кстати)
Основная теорема систематики: Новые системы плодят новые проблемы.