在C++中,我製作了一個導出到二進制文件的程序,現在我正在製作一個閱讀器。它讀取正確,但只有1個問題。我的文件是一個包含一組數字的文件,當它被讀取並打印到您看到的屏幕上時,1470009300047000199. 3「000」組不應該在那裏。我使用ifstream加載這個文件並計劃保持這種狀態。有人可以告訴我如何刪除我的文件中的「000」組?如果我必須編寫另一個C++程序,那樣我就可以使用它了,我只需要刪除「000」並將其替換爲空格即可。從我的文件中刪除「000」組?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
if (argc < 2)
{
cout << "Error 1";
return 0;
}
else
{
int FileLength;
ifstream InputFile(argv[1], ios::binary);
ofstream OutputFile("DECOMPILED_FILE.txt");
InputFile.seekg(0, ios::end);
FileLength = InputFile.tellg();
InputFile.seekg(0, ios::beg);
for (int i = 0; i < FileLength; i++)
{
cout << InputFile.get();
}
cin.get();
}
return 0;
}
您確定輸入文件中不存在零嗎?如果你在一些Unix中,你是否嘗試過'hexdump <你的文件名>? – 2012-07-27 00:02:42
是的,我確定它們不在原始文件中。不,我不使用一些Unix – dvds414 2012-07-27 00:16:20