如何查看由c++程序生成的.dat文件
How to view .dat file generated by c++ program?
我正在学习c++文件处理。首先,我使用fstream库生成了一个.txt文件,并在记事本上查看数据,但当我创建一个东西(.dat文件)时,不幸的是,我无法在任何文本编辑器中打开该文件,但我可以在C++中从该文件中获取数据。有没有任何文件查看器或方法可以用来查看.dat文件?
void display_all()
{
system("cls");
cout<<"nnnttDISPLAY ALL RECORD !!!nn";
fp.open("Shop.dat",ios::in);
while(fp.read((char*)&pr,sizeof(product)))
{
pr.show_product();
cout<<"nn====================================n";
getch();
}
fp.close();
getch();
}
上面的函数显示了我的Shop.dat文件中的所有数据,但当我直接打开该文件时,我的操作系统无法确定它是什么类型的文件。
您有您的个人文件格式,您的程序是查看这样存储的信息的唯一方法。为什么?因为没有一个程序知道您自己的程序生成的字段的结构和大小。查看数据的唯一方法-创建自己的记事本。
另一个例子:在我的程序中,我使用json格式来保存和加载信息(使用Qt)。此信息可以存储为纯文本和二进制文件。但这并不意味着每个理解json的程序都可以读取二进制文件,并将其内容视为纯json文本。好吧,如果我想检查二进制文件的内容,我会使用我自己的小实用程序将binary转换为纯文本。这就是您可以为自己的目的所做的事情-小型转换实用程序或简单的只读"记事本"。
我假设您想要查看.dat文件的十六进制转储。您需要以二进制模式打开文件
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream infile;
infile.open("Shop.dat", ios::binary | ios::in);
//Read file
char buffer[100];;
inFile.read (buffer, 100);
if (!inFile)
{
// An error occurred
}
return 0;
}
编辑:你在用什么IDE?在VisualStudio中,只需单击.dat文件(IIRC),就可以看到该文件的十六进制转储(假设它是二进制文件)。
相关文章:
- 在 c++ 中读取和写入.dat文件
- 在 c++ 中错误地读取.dat文件
- 使用ifstream从DAT文件加载数据
- 从函数中的dat文件创建一个2维数组
- 无法读取一个.dat文件以创建第二个.dat文件
- 读取.DAT文件并创建一个数组C
- 读取和写入.dat文件
- 使用 std::write 和 std::read C++ 读取包含 std::string 到.dat文件的结构
- C++:如何将数据输出到多个.dat文件
- 一次读取两个字节的.dat文件
- C++ 如何从.dat文件构建字符串的 2D 矩阵?5 列 x 行
- 为什么我的程序写入.dat文件中的同一行
- 正在从.dat文件中读取2个字节
- 创建.dat文件 (fstream) c++
- 正在从dat文件读取到数组中
- 如何在不显示十六进制的情况下读取dat文件中的文本?C++
- 如何使用条带化算法读取住宅.dat文件C++
- 写入和读取记录以.dat文件C++
- C++ 将字符串向量转换为给定.dat文件中的双精度向量
- 使用c++从.dat文件中选择“随机行”