한줄만 출력이 됩니다.

zeno0268 Reply 6 years 32 weeks ago
int len; char line[MAXLINE]; char ans[MAXLINE]; while ((len = getline(line, MAXLINE)) > 0) { if (len < 32){ copy(ans, line); } } if (ans > 0) { printf("%s\n", ans); } return 0; 이 중간 부분입니다. 조건에 맞는 line들이 ans에 카피되어 있으니까 유효한 ans에 대하여 모두 출력하면 이때까지 ans[]에 저장된 모든 리스트 들이 출력 되어야 하는게 맞다고 생각해서 짰습니다. 그런데 비쥬얼 스튜디오로 실행해보면 막상 맨 마지막 ans한줄밖에 프린트 되지 않습니다.
onacloud Reply 6 years 32 weeks ago
ans는 문자의 배열이므로 문자열을 저장할 수 있습니다. 위 코드라면 ans에는 딱 한줄만 저장됩니다. (다수의 줄을 저장하지 않습니다) line by line 대로 while 안에서 바로 출력하세요