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

如题所述

  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++提供的标准函数并不能直接帮你完成各种格式的读取。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-05
找到他写的dat文件,点鼠标右键,选择打开方式,浏览找你电脑里安装的编程软件,左键点一下编程软件即可!望采纳!追问

用VC++6.0打开是乱码

第2个回答  2012-10-06
如果dat文件是文本文件,就与读取txt文件一样直接,请参考其他人的回答。
如果dat文件是二进制文件,那就必须知道写入格式,即是他是如何写入的,比如说他是先写入一个int再写入两个char再写入三个double,你读取也要按照那个顺序,否则读出来的数据与他写入的数据意义不一致
想要判断一个文件是文本文件还是二进制文件,可以用记事本打开它,如果看到的内容无乱码就是文本文件,如果看到的是一大串乱码则是二进制文件。追问

文件里面的东西不是自己写的,里面是一些文字内容,用记事本打开是乱码,就是不知道是用什么格式输入的,输出到屏幕不知道要用什么格式打开,有没有什么办法解决?

追答

不知道输入格式,没有办法

第3个回答  2012-10-04
file fp =fopen(文件名, "rb+");
if fp == NULL
....
fread(....
fseek(...
fclose(fp);
就可以了追问

用二进制打开输出的依然是乱码

怎么样用c、c++读取别人写的dat文件
打开文件 fread()读文件 fseek()在文件中前进后退 fclose()关闭文件 C++语言的文件操作是面向对象的方式的,你首先要有一个文件对象,文件对象初始化的时候传入文件名,就构造出了读写文件的对象,然后操作这些对象来完成读写。ifstream file1("c:\\\\pdos.def");\/\/以输入方式打开文件,file1是一个读...

怎么样用c、c++读取别人写的dat文件
C++语言的文件操作是面向对象的方式的,你首先要有一个文件对象,文件对象初始化的时候传入文件名,就构造出了读写文件的对象,然后操作这些对象来完成读写。ifstream file1("c:\\\\pdos.def");\/\/以输入方式打开文件,file1是一个读文件对象。ofstream file2("c:\\\\x.123");\/\/以输出方式打开文件 ,...

C++用什么方法可以读取文件.dat后缀格式的文件?
C++读取文件可以用文件流#include <fstream>#include <string>#include <stdlib.h>using namespace std;ifstream ifs("filename.dat");\/\/以读方式打开文件string s;\/\/接受字符串const size_t size_of_array = 100;\/\/定义数组容量int array[size_of_array];size_t i = 0;\/\/数组下标while(ifs >> s)\/\/...

C++ 如何去解析.dat 的文件
1、打开任意一个文件夹,依次点开工具\/文件夹选项\/查看2、找下列表中“隐藏已知文件类型的扩展名”前面打上勾,点应用并确定。3、然后你的TXT文件会出现真的后缀名。4.对文档重命名直接把txt改成DAT就可以了

C++如何动态读写dat文件
在程序当中输入文件名的字符串,可以实现动态读写dat文件。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell...

怎么在C++中打开.txt和.dat格式的文件??
楼上说的是在c语言中的文件处理方式,在cpp中,可以直接使用头文件 fstream,比如: #include <fstream> include <iostream> using namespace std;ifstream in;ofstream out;in.open("a.txt");out.open("a.txt");in.open("b.dat");out.open("b.dat");ifstream 对象打开并从文件中输出信息到...

c++读取dat文件 如何读取成功进行成功提示,失败了提示手动输入路径进 ...
fin.open("a.dat");\/\/你的文件名,这里假如是有路径的话必须写全路径 while(!fin){ cout<<"file input error\\nplease input file name:";fin.clear();getline(cin,name);\/\/手动输入代码 fin.open(name.c_str());} cout<<"Reading success\\n";\/\/到这里,读取成功了 ,之后进行文件操作 ...

c++如何读取dat文件 并将内容写入内存中
1.对于程序来说,不管后缀名如何,文件分为两种类型:文本文件和二进制文件。C语言里有一系列文件操作函数。区分文本和二进制文件,需要在打开文件时设置不同的控制符mode的变量即可。2.fopen的函数原型:FILE fopen(const char path,const char mode);fopen函数的第一个参数是文件路径,第二个参数是...

如何建立C++中可读的dat数据文件
3.如果数据不是用程序写的,而是外部写的,但是你可以控制外部写的格式,那我建议你用如下格式:1.23 2.34 3.45 ...1.11 总共12行,每行一个浮点数 然后读取函数如下:include<stdio.h> int main(){ FILE* fp;float Rain[12] = {0.0};int i = 0;fp = fopen("1.txt", "r");if (...

c++中dat文件怎么读取?
DAT文件,可以按照扩展名来看就是DATA的意思,即数据文件,这类文件并没有进行绝对化的定义,例如VCD光盘中的DAT文件就可以用一般的视频播放器打开,而QQ的DAT文件中则存储了用户信息,是无法使用常规方式打开的,只有QQ程序可以访问。还有一些其他程序都有自己对DAT文件的定义,要通过其特殊的程序来打开与...

相似回答