问题与标题相同,操作系统为linux。 我已经尝试了一些例子。
((1 to: 10000) select: [:x | (x/10.0) = (x/10) and: [(x/1000.0) ~= (x/1000)]])
allSatisfy: [:x | (x/1000.0*100) = (x/10)]
这引起了“ / dev / stdout No such file”错误。
我认为文件描述符只是指向指向 struct文件的指针数组的索引,如果没有fd引用 struct file 。 如果我使用dup(1),是否不应该创建一个指向fd 1指向的fd 3,以便close(1)不能清除/ dev / stdout?
然后我尝试了
dup(1);
close(1);
int fd = open("/dev/stdout",O_WRONLY);
这可行。
我认为我缺少一些核心概念。感谢您的任何帮助,谢谢。