내가 만든 WAV 파일을 저장하기위한 기능을 writting 오전하지만 난 스트림에 숫자를 보내는 방법을 모르는 :이 WAVE 파일 구조를 구현하기 위해 노력하고보내기 정수로 리틀 엔디안에게 fstream하기
ofstream file;
file.open("sound.wav");
file << "RIFF";
file << (int) 32;
file << "WAVE";
: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
과 문제는 출력이 같다 여기에 있습니다 :
RIFF32WAVE
당신은 파일을 바이너리 모드로 열립니다하고 고전적인 로케일 스며해야한다는 얘기를 깜빡 했네요. (그렇지 않으면 : 그것은 사람이 아니라 일부 특정 구현과 작동 단지 해킹보다 깨끗하고 올바른 해결책을 제안 볼 수있는 즐거움이다.) –
@JamesKanze : 그 중 하나가 포맷되지 않은 출력에 차이가 있습니까? (현지화가 필요없는 코드를 작성하는 리눅스 프로그래머로서, 나는 그런 것들에 대해 자세히 알지 못했다.) –
예. 유닉스에서는 바이너리와 텍스트간에 실제 차이가 없지만 거의 모든 다른 시스템에는 바이너리와 텍스트가 있습니다. 클래식 로케일 이외의 로케일은 입력 및 출력에서 트랜스 코드 할 수 있습니다. (IMHO,이 또한 바이너리 모드에서 사용할 수 그러나 그것은 아니다되어야한다. 그것은 마력 깃든 로케일의 통제하에 완전히이다.) 나도 몰라, 핸드 오프, 사용 가능한 로케일 중 하나가 실제로 유닉스에서 트랜스 코딩 할 여부를하지만, 가능성은 존재한다. (FWIW :'codecvt'에'always_noconv' 함수가 있는데'true'를 반환하면 OK입니다.) –