我正在研究C ++ FILES概念。在下面的程序中,我试图了解如何读取和写入文件的工作原理。
4
我希望文件包含:" test1编写文件test2覆盖文件"。但是为什么文件只有:" test1写文件"。另外我在控制台上没有任何输出(str1的值)。我对概念运算符的理解很差>> ,以及与FILE I / O有关的任何缓冲区。有人能给我清楚的理解吗?
答案 0 :(得分:1)
1)在你的例子中,你应该将“光标位置”移动到开始读取文件:
contentSize
2)下面的代码(您的代码)将读取std :: string
中的一个单词...
myfile << "test1 writing files" << " ";
myfile.seekg(0);
...
因此,在您的示例中,您应该使用循环:
myfile >> str1;