在 c 中读取 .dat 文件

新手上路,请多包涵

我无法读取“.dat”文件。我已经厌倦了所有可能的方法并且厌倦了谷歌搜索,但我找不到解决方案。它给我的只是整数的空值和字符串变量或字符的垃圾值。这是我写的

ifstream file;
file.open("data1.dat"); // I have also tried this way too like file.open("data1.dat", ios::binary, ios::in);
int data=0;
file >> data;
cout << data << endl;
system("pause");
return 0;

我正在使用 Visual Studio 来编译这段代码。我很确定指针正在进入数据文件,但我不知道数据没有被读取的原因。

.dat 文件由每行从 0 开始的整数组成,所以我只需要读取文件并从每行获取数字,然后应该找到文件中所有数字的总和。该文件包含 5、468、3200、32 等数字。每个数字都在一个新行中。该文件可以包含任意数量的记录。 这是使用记事本编辑器打开 .dat 文件时的外观

原文由 venkatesh gadde 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

这是我刚刚找到的一种方法

     #include <bits/stdc++.h>
    using namespace std;

    int main(){
        unsigned int a;
        unsigned char c;
        ifstream file;
        file.open("ou.bin", ios::binary);
        if(!file.is_open()){
            cout<<"error";
            return 0;
        }
        for(int i=0; i<8; i++){
            file>>c;
            a = c;
            a = a<<8;
            file>>c;
            a = a+ c;
            cout<<a<<endl;
        }
        file.close();
        return 0;
   }

为了在一个数字中存储两个字节,您可以在一个数字甚至一个中存储尽可能多的字节。

希望这可以帮助。

原文由 mitansh1398 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题