Нашел пример один, ясненько.
char *cmd = "ls *.c";
FILE *ptr;
if ((ptr = popen (cmd, "r")) != NULL)
while (fgets (buf, n, ptr)) != NULL)
(void) printf ("%s", buf);
Почему в последней строчке к void приводим. Не в первый раз встречаю, но не могу понять ЗАЧЕМ.
С++ учил под Дос, винду, так что...
>Почему в последней строчке к void приводим. Не в первый раз встречаю, >но не могу понять ЗАЧЕМ.
Затем, что printf возвращает int, который не используется. И некоторые
компиляторы (а скорее, даже не компиляторы, а тулзы для проверки кода
из семейства lint) на это выдают предупреждение -- что возвращаемое
значение, мол, выбрасывается. Однако в этом нет абсолютно ничего
незаконного или опасного с точки зрения стандартов С/С++, кроме того,
множество функций возращают значения, которые обычно не используются,
так что по сути явное приведение к (void) только замусоривает код (IMHO) . Как бы то было, это сугубо вопрос стиля.
>С++ учил под Дос, винду, так что...
Вышеизложенное не имеет никакого отнощения к DOS, Win, Linux и т.п.,
так чтою...