C语言fread和fwrite函数
fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);buffer,fp本质上都是内存里的地址吧?只不过fp是...
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
buffer,fp本质上都是内存里的地址吧?只不过fp是指向一个打开的文件的。我可以人为颠倒它俩么?这样的话,它对应的读(或者写)不久可以正好反过来,逆向操作。
会报错,警告?还是会执行呢? 展开
fwrite(buffer,size,count,fp);
buffer,fp本质上都是内存里的地址吧?只不过fp是指向一个打开的文件的。我可以人为颠倒它俩么?这样的话,它对应的读(或者写)不久可以正好反过来,逆向操作。
会报错,警告?还是会执行呢? 展开
3个回答
展开全部
你说的第一个是对的,fp、buffer都装的是内存地址,但内容不一样。
fp在C语言里描述的是文件句柄,通俗说类似你去图书馆办理的借书手续,描述的是你借的什么书(就是你打开的哪个文件)、是读还是写、归还没(关闭)等内容;
buffer指向的内存则存储着你借到的书的内容,实际就是你读写文件的数据。
所以这完全不是一回事情,C语言的这个函数明确了这两者的具体含义,所以你不能颠倒,颠倒了也不能执行你期望的操作。
fp在C语言里描述的是文件句柄,通俗说类似你去图书馆办理的借书手续,描述的是你借的什么书(就是你打开的哪个文件)、是读还是写、归还没(关闭)等内容;
buffer指向的内存则存储着你借到的书的内容,实际就是你读写文件的数据。
所以这完全不是一回事情,C语言的这个函数明确了这两者的具体含义,所以你不能颠倒,颠倒了也不能执行你期望的操作。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
报错,fp是指向文件,buff是在内存中的缓存,对换后数据类型不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询