[cdev] Утилита ps
Grigoriy A. Sitkarev
sitkarev на komitex.ru
Чт Мар 25 16:20:10 MSK 2010
Забыл первый аргумент указать для fscanf.
Должно быть:
fscanf(f, "%*s %80s", buf);
Но вы меня всё равно поняли.
--
Г.А.
Grigoriy A. Sitkarev пишет:
> Вы сделайте хотя бы ещё пару полей.
>
> Ведь этого так мало и совсем недостаточно для зачёта.
>
> Хотя-бы выковыривание из cmdline сделайте записей, разделённых пробелами.
>
> Если вам надо пропустить один параметр, как вы делаете в fscanf, то
> можно поставить модификатор-звёздочку, тогда это означает что запись в
> аргумент игнорируется (пропускается):
>
> fscanf("%*s %s", buf);
>
> Такое чтение кстати потенциально опасно, потому что вы не ограничиваете
> количество символов, которое должно быть помещено в буфер. Надо
> передавать ограничение туда, например так:
>
> fscanf("%*s %80s", buf);
>
> Тогда вы будете уверены что в буфер будет записано не более 80+1
> символов (не учитывается завершающий '\0').
>
> --
> Г.А.
Подробная информация о списке рассылки cdev