有没有办法将(显然是字节)文件通过管道传输到 Linux 上的 C++ 应用程序。getline()
但是,我不想只使用每个字节一次。例如,我不想使用getline()
,因为它会读取直到 '\n' 的所有字节,然后我还必须重新读取通过 给我getline()
的字节,因此字节被读取两次。我只想“迭代”每个字节一次。
什么是性能最好的技术,一次读取 PAGE_SIZE 个字节?任何示例代码都是最受欢迎的!
Don't forget that std::cin
is of type std::istream
. You can use standard get()
on it to retrieve a char
at a time with:
char nextVal = std::cin.get();
To read PAGE_SIZE
bytes at a go, use read()
instead:
char *buffer = new char[PAGE_SIZE];
std::cin.read(buffer, PAGE_SIZE);
Remember to always check error conditions and EOF after reading.