그래서 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;
};
추가 정보가 필요합니다. 어떻게 세웠 니? 어떻게 충돌하고 어디에서? –
아마, 실패한 코드를 보여 주면 도움이 될 것입니다. – Steve
당신은'ios :: out | ios :: binary 플래그? 몇 가지 코드를 보여주십시오. – RedX