그래서 저는 삶의 게임을 구현했으며 이제는 생성 된 모든 새로운 필드를 gif 또는 pbm에 넣어야하고 마지막에는 애니메이션 GIF를 만드는 명령이 있습니다.C의 삶의 게임, 어떻게 파일에 씁니까?
아래 함수는 제공되지만 첫 번째 매개 변수 인 포인터 const char이 없습니까? 함수에서 파일 이름을 보았습니다. 어떻게 쓰는지, 정말 혼란 스럽습니다.
static int write_pbm_file(const char *fn, struct game_field *gf) {
int i, j;
FILE *fp;
fp = fopen(fn, "w+");
if(!fp){
printf("unable to open '%s' - '%s'\n", fn, strerror(errno));
return -1;
}
fprintf(fp, "P1\n");
fprintf(fp, "%c\n", gf->length);
fprintf(fp, "%c\n", gf->length);
for(i = 0; i < gf->length; i++)
for(j = 0; j < gf->length; j++)
fprintf(fp, "%c\n", gf->field[i][j] == 0 ? 48 :
gf->field[i][j] == 1 ? 219 : 197);
fclose(fp);
return 0;
}
그건 내가 위의 함수에 도착 어디에 코드입니다 :
이
while(iterations > 0) {
write_pbm_file(..., pstField);
pstField = game_iteration(pstField);
iterations--;
}
나는이 파일을 작성하려면 어떻게 작성해야? 도와주세요
고마워요!
그 해결책은 완벽합니다. 모든 새로운 분야마다 새로운 파일을 만들고 작동합니다. 나는 리눅스 atm을 가지고 있지 않다. 숙제는 다음과 같이 감추어 진 pbm으로 변환한다. convert -delay 75 -loop 0 field * game_of_life.gif 두 가지 질문 : 윈도우 7 x64에서는 convert가 작동하지 않는다. 다른 어떤 방법으로? 필드 대신 *을 사용해야합니까? file-NUM.pbm이라는 10 개의 파일을 만들 수 있으며이 명령에 대해 지금 무엇을 작성해야합니까? 정말 고맙습니다. – pfu
convert는 ImageMagick의 일부입니다 : http://www.imagemagick.org/script/binary-releases.php#windows 대신에 field * try 파일 - *. pbm –
흠 잘 작동하지만 gif가 생성되지만 애니메이션이 아닙니다. . pbm 파일은 모두 다르지만 GIF는 정적입니다. 애니메이션이 없습니다. 흠 .. 내 기술을 부끄럽게 생각합니다. 초보자입니다 ^^ – pfu