在unix中重定向二进制文件



我在Unix系统中有一个二进制文件,我想让它从一个文件中读取我所有的输入。

int main(int argc, char * argv[]) {
   foo(atoi(argv[1])
    exit(0);
}

int foo(int a) {
[..]
read(STDIN_FILENO, chararray, 5);
[..]
read(STDIN_FILENO, another_chararray, 10);
}

我已经发现read()在它之前停止读取的地方继续读取。

我的问题是

我如何创建一个文件。txt,使"。/二进制& lt;File.txt "给foo()一个参数a,并在read()调用中写入输入?

如果在第二个字符之后的第一次读取中有一个空字节会发生什么,下一次读取是否继续在空字节之后读取?

当您将文件读取为二进制(因此"nullbytes"不存在)而不是文本时,应该这样做。

相关内容

  • 没有找到相关文章

最新更新