Что эквивалентно /dev/null
в Windows?
/dev/null в Windows?
Ответ 1
Я думаю, вы хотите NUL
, по крайней мере, в командной строке или командных файлах.
Например:
type c:\autoexec.bat > NUL
не создает файл.
(Я считаю, что это верно, если вы пытаетесь создать файл программно, но я не пробовал его.)
В PowerShell вы хотите $null
:
echo 1 > $null
Ответ 2
В соответствии с этим сообщением в списке рассылки GCC вы можете использовать файл "nul" вместо /dev/null:
#include <stdio.h>
int main ()
{
FILE* outfile = fopen ("/dev/null", "w");
if (outfile == NULL)
{
fputs ("could not open '/dev/null'", stderr);
}
outfile = fopen ("nul", "w");
if (outfile == NULL)
{
fputs ("could not open 'nul'", stderr);
}
return 0;
}
(Кредиты для Danny для этого кода, скопировано из его сообщения.)
Вы также можете использовать этот специальный файл "nul" через перенаправление.
Ответ 3
Джон Скит прав. Вот страница Nul Device Driver в документах Windows Embedded (я понятия не имею, почему это не где-то еще...) HEre - это еще один
Ответ 4
NUL
в окнах кажется фактически виртуальным путем в любой папке.
Точно так же, как ..
, .
в любой файловой системе.
использовать любую папку, за которой следует NUL, будет работать
ex:
echo 1 > nul
echo 1 > c:\nul
echo 1 > c:\users\nul
echo 1 > c:\windows\nul
имеют тот же эффект, что и /dev/null
в linux
тест на windows 7, 64 бит
Ответ 5
NUL
работает также программно. Например. следующее:
freopen("NUL", "w", stderr);
работает так, как ожидалось, без создания файла. (MSVС++ 12.0)