我在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"不存在)而不是文本时,应该这样做。