C++에서 다음 코드를 사용합니다. 이진 파일을 쓸 수 없습니다.
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ofstream output("Sample.txt", ios::out | ios::binary);
for(int i = 0; i < 10; i++)
{
output<<arr[i];
}
는 지금의 Sample.txt는 다음과 같이이다 :
12345678910
는 "의 Sample.txt는"바이너리 있어야 아닌가? 이진 모드로 스트림을 열면 모든 것이 이진으로 변환되지 않는 이유는 무엇입니까? 어떻게해야합니까 배열에있는 모든 요소의 바이너리가 필요하고 다음 파일에 인쇄 할 수 있습니다.
"바이너리"란 무엇을 의미합니까? – GManNickG
배열의 해당 정수에 대한 이진 값이므로 배열의 정수가 5 인 경우 5 대신 101을 인쇄해야합니다. – Jay
글쎄, 원시 데이터를 출력하려면'write' 함수를 사용해야합니다. 하지만 그걸로 디스크에 101을 인쇄합니다. (아마도 0000000000000101과 비슷할 것입니다.) 파일을보기 위해 무엇을 사용하든 실제로는 원래의 것과 0을 표시하지 않을 것입니다. 텍스트 파일 뷰어는 텍스트 파일 편집기에서 바이너리 파일을 열면 왜곡 된 쓰레기가 표시되는 이유는이를 ASCII로 해독하려고합니다. 당신은 1과 0을 보지 못합니다. 아마도 그렇게하는 16 진 편집기가 더 적합 할 것입니다. – GManNickG