假设我送一个大的缓冲区的ostream ::写,但只有它的开始部分实际上是成功写入,其余不写ostream :: write实际写入多少个字节?
int main()
{
std::vector<char> buf(64 * 1000 * 1000, 'a'); // 64 mbytes of data
std::ofstream file("out.txt");
file.write(&buf[0], buf.size()); // try to write 64 mbytes
if(file.bad()) {
// but suppose only 10 megabyte were available on disk
// how many were actually written to file???
}
return 0;
}
什么ostream的功能能告诉我有多少字节实际上书面?
与你的问题无关:你不能使用'void main()',并且你有'vector :: vector()'参数的顺序倒退。 –
感谢@Robᵩ固定代码致力于解决这个问题。 –