C++中I/O 读文件和写文件的指针 是不是全局的?不同文件的指针是独立的吗?
一个程序中,针对某个文件file1的stream操作在main中打开file1,先在函数1对读指针操作,调用完毕后指针在位置a此时调用函数2,指针是在位置a还是回到fil...
一个程序中,针对某个文件file1的stream操作 在main中打开file1,先在函数1对读指针操作,调用完毕后指针在位置a 此时调用函数2,指针是在位置a还是回到file1文件开头? 另外file1和file2等不同文件的指针是独立的吗? 问题有点多,刚开始学C++,谢谢!
展开
展开全部
这个你应该看看<WINDOWS核心编程>才能更好的理解,其实在WINDOWS下C/C++的标准库内部都是使用WIN32 API中的CreateFile打开文件的,每调用一次CreateFile就会创建一个文件对象,指示当前操作位置的是文件对象中的一个数据成员.
追问
直接请教一下
C++中I/O 读文件和写文件的指针在函数1的变动,影响函数2吗?
或者说可以将fstream file1这个变量作为实参传递吗?
追答
不会.
fstream对象是不可以复制的,也就是说你传参只能是作为引用或指针传递,那么实际上参数所代表的仍是同一个fstream对象.
内部的机理看样子目前怎么说你也还是不明白的了.你就简单地理解为每个fstream对象代表一个文件对象吧,每个文件对象都有一个独立的文件指针.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询