我正在做一个程序,从标准输入在文件中读取,做了它,并将它发送到stdout。阅读一般的文件
既然这样,我在我的程序行:
while((c = getchar()) != EOF){
其中c
是一个int。
但是问题是我想使用ELF可执行此程序。它似乎有必须是代表可执行文件,这会导致它被截断(纠正我,如果我错了这里 - 这只是我的假设)内ASCII文件EOF字节。
什么是去这样做有效一般方式?我可以挖掘ELF格式的文件,然后检查最后发生的情况。这将是有用的,但我认为如果我仍然可以将此程序应用于任何类型的文件会更好。
你的假设是错误的。这是读取流的标准方式。 – 2011-05-24 16:22:17
你为什么要使用stdin?这意味着你会做prog <文件。使用prog文件然后自己读取文件有什么问题?可执行文件将包含各种值,而不仅仅是ASCII。 – ColWhi 2011-05-24 17:07:15
@Sasquiha Eh?也许他想写一个过滤器。这就是UNIX命令应该工作的方式。 – 2011-05-24 17:19:41