我正在做一個程序,從標準輸入在文件中讀取,做了它,並將它發送到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