怎么样用c、c++读取别人写的dat文件 5

 我来答
yang_bigarm
2012-10-04 · TA获得超过3949个赞
知道大有可为答主
回答量:1664
采纳率:100%
帮助的人:621万
展开全部
  C语言的文件操作是用指针来完成的,你首先需要一个文件指针
  FILE* fp; 然后调用一批操作文件的函数来读写文件。
  fopen() 打开文件
  fread() 读文件
  fseek()在文件中前进后退
  fclose()关闭文件

  C++语言的文件操作是面向对象的方式的,你首先要有一个文件对象,文件对象初始化的时候传入文件名,就构造出了读写文件的对象,然后操作这些对象来完成读写。
  ifstream file1("c:\\pdos.def");//以输入方式打开文件,file1是一个读文件对象。
  ofstream file2("c:\\x.123");//以输出方式打开文件 ,file2是一个写文件对象。
  例如关闭文件就调用
  file1.close();
  读入文件可以用get成员函数
  file2.get(str1, 1024, '\n'); //从文件中读取字符到字符串str1,当遇到回车或读取了1024个字符时终止。
  检测是否到达文件结尾用eof函数
  if(file2.eof()) printf("已经到达文件尾!");
  C++操作文件的前进后退的函数是 seekg()和 seekp(),例如
  file1.seekg(128,ios::end);//把文件的读指针从当前位置向后移128个字节
  file2.seekp(1024,ios::beg);//把文件的写指针从文件开头向后移1024个字节

还有最后一点,就是不管是什么语言,当你读一个文件的时候,你需要弄清楚文件的格式,例如文件中的数据是弄哪种分隔符的,是tab还是回车还是逗号分隔,针对具体的文件格式编写自己的读写函数,C++提供的标准函数并不能直接帮你完成各种格式的读取。
狂飙的蜗牛14
2012-10-05
知道答主
回答量:12
采纳率:0%
帮助的人:6.9万
展开全部
找到他写的dat文件,点鼠标右键,选择打开方式,浏览找你电脑里安装的编程软件,左键点一下编程软件即可!望采纳!
追问
用VC++6.0打开是乱码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdfwds4
2012-10-06 · TA获得超过953个赞
知道小有建树答主
回答量:629
采纳率:0%
帮助的人:793万
展开全部
如果dat文件是文本文件,就与读取txt文件一样直接,请参考其他人的回答。
如果dat文件是二进制文件,那就必须知道写入格式,即是他是如何写入的,比如说他是先写入一个int再写入两个char再写入三个double,你读取也要按照那个顺序,否则读出来的数据与他写入的数据意义不一致
想要判断一个文件是文本文件还是二进制文件,可以用记事本打开它,如果看到的内容无乱码就是文本文件,如果看到的是一大串乱码则是二进制文件。
追问
文件里面的东西不是自己写的,里面是一些文字内容,用记事本打开是乱码,就是不知道是用什么格式输入的,输出到屏幕不知道要用什么格式打开,有没有什么办法解决?
追答
不知道输入格式,没有办法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rich556677
2012-10-04 · TA获得超过2028个赞
知道小有建树答主
回答量:1365
采纳率:0%
帮助的人:903万
展开全部
file fp =fopen(文件名, "rb+");
if fp == NULL
....
fread(....
fseek(...
fclose(fp);
就可以了
追问
用二进制打开输出的依然是乱码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式