在我的代码中我有
for (int i = 0; i < 5; i++) {
ranInts= rand();//generate a random integer, store in ranInts
cout << ranInts<< " ";//Print out ints
binaryFile.write(reinterpret_cast <char *>(&ranInts), sizeof(int))//Write to file
}
要阅读的代码是
binaryFile.seekg(ios::beg);//Set the pointer in file to beginning
for (int i = 0; i < 5; i++) {
binaryFile.read(reinterpret_cast <char *>(&ranInts), sizeof(int));
//reading each int moves the file pointer down 4 bytes, ready to get the next one
//display
cout << ranInts<< endl;
}
这很好用。我想要做的是从磁盘到屏幕,并将变量保留在循环之外。
这可能吗?
答案 0 :(得分:2)
是的,有可能。致电std::copy
根据您的文件将std::istream_iterator
复制到基于std::ostream_iterator
的{{1}}:
cout
答案 1 :(得分:0)
如果你想从磁盘转到屏幕(两个不同的设备),它真的不是问题。
注意这个策略你必须知道缓冲区的长度。 char buffer [50] make shure你为eol char添加一个\ n“
玩得开心。