동적할당 이용시 fwrite사용을 어떻게 해야하나요..?
꼼지
질문 제목 : 동적할당 이용시 fwrite사용을 어떻게 해야하나요..?
질문 내용 : SA1.raw에서 동적할당으로 sound라는 동적메모리에 입력받고 그 값에 0.3을곱하여(소수점 잘라먹고) 다시
SA1_out.raw로 출력하려고합니다.
fwrite문 찾아보니 맨앞자리에 파일에 기록하려는 데이터가 있는 버퍼에 대한 포인터라고했는데 이말이 잘 이해가지를 않습니다.
동적할당으로 받았으니 sound메모리가 맞지않나요..?#include stdio.h
#include stdlib.h
int main(void)
{
FILE *fp,*fp1;
int i;
short *sound,size;
fp=fopen(SA1.raw,rb);
fp1=fopen(SA1_out.raw,wb);
fscanf(fp,%d,&size);
sound=(short*)malloc(sizeof(short)*size);
for(i=0;isize;i++)
{
fscanf(fp,%d,&sound[i]);
sound[i]*=0.3;
}
for(i=0;isize;i++)
fwrite(sound[i],sizeof(short),1,fp1);
free(sound);
fclose(fp);
fclose(fp1);
system(pause);
return 0;
}
-
희선
fread로 해야 될것 같네요
아 아까 테스트할때 확장자명 바꿔놓은거 깜빡하고 삽질하고 있었네요 잠시만요;; -
SchokoHolic
fscanf(fp, \%d\
-
지율
해보고 답변 드리겠습니다.
-
재넘이
파일 올려놨습니다. ^^
-
수국
네 글 수정하시고 제 댓글에 댓글 하나만 달아주세요
-
수국
지금 밖이라 파일이 집에있네요ㅜㅜ 집에가는데로 해드릴께요ㅜ
-
한가람
SA1.raw 파일좀 받을수 있을까요?
-
하루
실행해보고 다시 답변 드리겠습니다.
-
미영
복사해서 올린다는걸 깜빡했네요ㅜㅜ
위와같이 해봤엇는데 디버드에러???가 트더라고요ㅜㅜ -
머슴밥
코드를 이미지로 올리시면... 답변 해주는 사람들이 혹 실행해보려고 하려면... 코드를 다 일일이 쳐야되서...
text로 올리시는게 좋을거에요
버퍼에 대한 주소값이므로 sound[i]가 아니라 그냥 sound만 써줘야 되지 않을까요?
반복문은 지우시구요
fwrite(sound, sizeof(sound), 1, fp1);