PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/03/30 11:11:38
Name 녹차한잔의여
Subject 시스템프로그래밍(c) 질문입니다.
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>

int main() {
        int x,y,i;
        char ChunkID[5];
        int ChunkSize;
        char Format[5];
        char Subchunk1ID[5];
        int Subchunk1Size;
        short AudioFormat;
        short NumChannels;
        int SampleRate;
        int ByteRate;
        short BlockAlign;
        short BitsPerSample;
        char Subchunk2ID[5];
        int Subchunk2Size;
        int Data;

        x=open("./ja1.wav",O_RDONLY,777);
        y=read(x,ChunkID,4);
        ChunkID[y]=0;
        y=read(x,&ChunkSize,4);
        y=read(x,Format,4);
        Format[y]=0;
        y=read(x,Subchunk1ID,4);
        Subchunk1ID[y]=0;
        y=read(x,&Subchunk1Size,4);
        y=read(x,&AudioFormat,2);
        y=read(x,&NumChannels,2);
        y=read(x,&SampleRate,4);
        y=read(x,&ByteRate,4);
        y=read(x,&BlockAlign,2);
        y=read(x,&BitsPerSample,2);
        y=read(x,Subchunk2ID,4);
        Subchunk2ID[y]=0;
        y=read(x,&Subchunk2Size,4);

        FILE *f1;
        f1=fopen("./ja2.wav","w");
        fprintf(f1,"%s",ChunkID);
        fprintf(f1,"%x",ChunkSize);
        fprintf(f1,"%s",Format);
        fprintf(f1,"%s",Subchunk1ID);
        fprintf(f1,"%x",Subchunk1Size);
        fprintf(f1,"%x",AudioFormat);
        fprintf(f1,"%x",NumChannels);
        fprintf(f1,"%x",SampleRate);
        fprintf(f1,"%x",BlockAlign);
        fprintf(f1,"%x",BitsPerSample);
        fprintf(f1,"%s",Subchunk2ID);
        fprintf(f1,"%x",Subchunk2Size);
        for(i=0;i<227328;i++) {
                y=read(x,&Data,4);
                fprintf(f1,"%x",Data);
        }
        return 0;
}

------------------------------------------------------------------------------------------------

염치 불구하고 또 질문드리네요...


현재 문자는 출력하고 숫자는 주소가 출력되게 되어있는데요..

현재 출력은 RIFF0006f024WAVEfmt1011ac........

이렇게 나가구요.. 이렇게 텍스트로 출력되는것을

바꿔서 wav파일로 출력이 되게 만드는 것입니다. (cp와 같은..) - 재생이 가능하도록...

숫자부분의 0006f024 이 주소값을 스택에 0x24 0xf0 0x06 0x00 이렇게 삽입하면 될 것 같은데..

현재는
$xxd ja2.wav
5249 4646 3078 3030 3036 .....
이렇게 되어있는데요 ...

$xxd
5249 4646 24f0 0600 ....
이런식으로 되게 말입니다


fprintf 용례를 찾아봐도... 잘 모르겠어서.. 질문드립니다..

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
azurespace
10/03/30 12:37
수정 아이콘
읽는건 read로 하시는데 왜 쓰는건 fprintf로 하시죠? write나 fwrite가 있는데요..
Je ne sais quoi
10/03/30 12:49
수정 아이콘
wave format에 대해 아는 바는 없지만 형식이 있으니 저렇게 읽으시는 거 같고, 말씀하시는 부분은 ChunkSize랑 Format인거 같은데, 그냥 끊어 읽어서 뒤집으면 되는거 아닌가요? int니까 2byte씩 끊어서 읽어서 뒤집어서 쓰면 될거 같은데... 제가 모르는 게 있어서 그러는지 -_-a
루뚜님
10/03/30 13:12
수정 아이콘
fprintf를 쓰면 안될것 같고 write를 쓰시구요.. header저장할때는 byte order계산을 잘 하셔야합니다.
녹차한잔의여
10/03/30 15:21
수정 아이콘
아 fwrite를 쓰면 되는군요 답변해주신분들 모두 감사합니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
78102 헬스 운동 프로그램에 관해 문의드립니다. [4] 성자1723 10/03/30 1723
78101 요새 Battle Net에 이리 고수가 많은가요? [20] Zeegolraid2568 10/03/30 2568
78100 타고난 근육질이라는 게 있나요? [21] 드론찌개6601 10/03/30 6601
78099 주식에 대해서 간단한 질문인에요.. [4] 완소히드라1917 10/03/30 1917
78097 근로자 연차에 대해... [7] stralis1930 10/03/30 1930
78096 영어번역 능력자들 있나요? 도와주세요! [14] Endless.Pain1884 10/03/30 1884
78095 메인보드 설정관련 질문드립니다.~ [2] hyun52801868 10/03/30 1868
78094 라섹질문입니다 ㅠㅠ [14] 날카로운비수1921 10/03/30 1921
78093 농구공을 사려고 합니다. [9] 체게바라1864 10/03/30 1864
78092 예비군 연기 질문입니다. [7] 냠냠버거3016 10/03/30 3016
78091 SS501 형준씨 스타 어느정도 잘하죠? [21] 멜로3199 10/03/30 3199
78089 니콘 D80 을 중고로 팔려고 합니다. [6] 아스트랄2241 10/03/30 2241
78088 비데는 어떤 느낌인가요??;; [38] 마음을 잃다5362 10/03/30 5362
78087 시스템프로그래밍(c) 질문입니다. [4] 녹차한잔의여2167 10/03/30 2167
78086 관계없는 질문 2가지 (매크로, 닭가슴살) [5] 쌈팍2058 10/03/30 2058
78085 개인리그 방청을 해보려고 합니다. [4] 검은창트롤2120 10/03/30 2120
78084 경상도 경주나 부산분들 질문요! [17] SUSAN1944 10/03/30 1944
78083 아..봐주세요. [7] 라랋1938 10/03/30 1938
78082 컴퓨터 소음 관련 질문입니다. [3] Erehwon1960 10/03/30 1960
78081 실내에서 실내화(슬리퍼) 신는 집이 많나요? [15] amoelsol5132 10/03/30 5132
78080 아이폰 구매조건(사은품) 좀 봐주세요.. [3] Coffee2179 10/03/30 2179
78079 혹시 피지알 접속 잘 안되는 분 있나요? [5] 공무원욕하지2127 10/03/30 2127
78078 타이밍 [14] 양산형젤나가2465 10/03/30 2465
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로