구조체 포인터를 파일에 쓰려고합니다. 내가 뭘 하려는지, 문자 버퍼에 구조 포인터를 작성한 다음 버퍼에서 포인터를 검색하고 마지막으로 전체 구조를 파일에 쓰는 것입니다.fwrite를 사용하여 구조체 포인터를 파일에 쓰기
전체 구조를 쓰는 대신 파일에 정크 데이터가 나타납니다.
코드에 내용이 누락되었거나 실수를했습니다.
전체 테스트 코드 붙여 넣기.
#include <stdio.h>
# include<stdlib.h>
#include <string.h>
typedef struct dummy_s {
int a;
} dummy_t;
void main(int argc, char* argv)
{
char *s1;
s1 = malloc(sizeof(dummy_t)*1000);
dummy_t * tmp1;
tmp1 = (dummy_t *)s1;
tmp1 -> a = 100;
FILE *f;
f = fopen("dummyfile.txt","w");
dummy_t * tmp = NULL;
tmp = malloc(sizeof(dummy_t));
memcpy(tmp, s1, sizeof(dummy_t));
fwrite(tmp,sizeof(struct dummy_s),1,f);
fclose(f);
}
[편집 오류에 대한 편집 - 죄송합니다] 건배! 나렌
fwrite()를 호출해도 컴파일 ...합니까? (나는 C 컴파일러를 편리하게 가지고 있지 않다.) –
어떤 미친 작업들 ... – pmod
memcpy (tmp, d, sizeof (dummy_t));에서 "d"는 무엇인가? – pmod