Red*_*ger 8 stdin d exception dmd
这是一个简单的程序,它从stdin读取行并将它们输出到stdout.
module test;
import std.stdio;
void main(string[] args)
{
foreach (int i, string line; lines(stdin)) {
writeln(line ~ " (test)");
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Windows DMD编译器v2.052.
如果我做 : type file.txt | test.exe
程序将"test"一词附加到file.txt的每一行,并将它们输出到控制台.
但是我最后得到一个错误:
std.stdio.StdioException@std\stdio.d(2138): Bad file descriptor
也许我错过了什么?它让我疯狂!:)
我不熟悉 type 命令,也许文件完成后它没有发送 EOF。在 Linux 中你只需执行: ./test < file.txt
这就是输入重定向。与将程序输出转换为标准输入的管道不同,这将文件转换为程序的标准输入。还有输出重定向,它获取程序的输出并将其存储在文件中。
./测试 > 输出.txt
| 归档时间: |
|
| 查看次数: |
553 次 |
| 最近记录: |