你的问题是你先往文件流里面写东西了
file<< "abcdefghijklmnopqrstuvwxyz";
写完以后你又读文件流里面的东西

file.seekg(-1,ios::cur);
if(file.get()!='n')
然后你又往里面写东西
t = file.tellg();的作用是获取当前读文件流指针的位置
没有这个文件流指针就丢了
你就没有办法再往里面写任何东西不是什么endl和n的问题你可以试任何字符串都是写不进去的
因为文件指针丢了
读完东西又要写东西你就要告诉系统当前指针在那里否则系统不知道往哪里写!
你可以单步跟踪这段代码(按f10)这样你会明白的了
void main()
{
int t;
fstream file;
file.open("ABC",ios::in|ios::out|ios::binary);
t = file.tellg();//t=0文件流指针位置为0
file<< "abcdefghijklmnopqrstuvwxyz";
t = file.tellg();//t=26文件流指针位置为26
file.seekg(-1,ios::cur);
t = file.tellg();//t=25往前移了一个字节文件流指针位置为25
if(file.get()!='n')
{
file< t = file.tellg();//t=-1文件流指针丢失 } file<< "OK!"; file.close(); } 希望能帮得到你
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【文件流丢失是什么原因】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
