[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