这是一个简单的问题,但我无法在任何地方找到解释
我在C ++中使用fopen,我可以选择使用
" R + B" (读写)
或
W + B" (读写和截断)
Truncate是什么意思? " r + b"之间有什么区别?和" w + b"? 我理解truncate的数学含义是在一定数量的小数点后删除精度,但我不理解C ++语境中的确切含义。
谢谢,
答案 0 :(得分:2)
“truncate”表示文件在打开时将设置为0
大小。
"w+b"
将为您提供一个可以读写的空文件(如果它不存在则创建它)。
"r+b"
将失败;如果文件确实存在,那么该文件暂时保持不变,您可以读取或写入该文件。
答案 1 :(得分:0)
r+b
和w+b
之间的区别在于r+b
保持文件中的所有现有数据不变,而w+b
将删除(截断)文件中的任何数据,好像您已创建新文件或使用w
打开它。
这同样适用于非二元修饰符r+
和w+
。