所以我做了一個程序,用ifstream打開一個文本文件。現在我想讓它以二進制形式輸出這個文件。我試過ofstream和使用.write(),但當我做程序崩潰。當我在網上看到使用.write()時我正確地設置了它,但我沒有看到任何人與我一起工作。有人有解決這個問題嗎?另外,我不知道爲什麼'InputFile'和'OutputFile'都像這樣突出顯示藍色。如何將帶有數字的文本文件轉換爲二進制文件?
#include <iostream>
#include <fstream>
#include <string>
#include <bitset>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main(int argc, char* argv[])
{
if (argc < 2)
{
cout << "Error 1";
return 0;
}
else
{
int WIDTH, HEIGHT;
ifstream InputFile;
InputFile.open(argv[1], ios::in);
ofstream OutputFile;
OutputFile.open("OUTPUT.raw", ios::binary | ios::app);
cout << "Enter Width" << endl;
WIDTH = cin.get();
HEIGHT = WIDTH;
for (int x = 0; x < WIDTH; x++)
{
for (int y = 0; y < HEIGHT; y++)
{
OutputFile.write((char*)InputFile.get(), sizeof(InputFile));
}
}
}
//cout << bitset<8>(txt[i]);
return 0;
};
我們需要更多信息。你是如何設置的?它如何崩潰,在哪裏? – 2012-07-24 14:09:44
也許,如果您顯示失敗的代碼,我們可以提供幫助。 – Steve 2012-07-24 14:09:50
你用過'ios :: out |嗎? ios :: binary'標誌?向我們展示一些代碼。 – RedX 2012-07-24 14:09:56