c언어 파일 입출력관련 질문 드립니다.

merwif의 이미지

fprintf 관련된 질문입니다.

뭐가 문제인지몰라서 기억나는대로 최대한 자세히 적어보겠습니다.

먼저 출력하고자하는 변수는 인트형 2차원 동적배열로 모든 원소들이 0하고 1입니다.

해당 변수를 출력부분에서

fn = fopen("test.txt","w");
 
for (int i=0; i<N ; i++){
  for (int j=0; j<K ; j++){
      printf("%d ", var[i][j]);
      fprintf(fn,"%d ", var[i][j]);
   }
}
fclose(fn);

이런식으로 프롬프트하고 txt파일에 같은 변수를 출력했는데, 위에거는 0,1이 제대로 찍혔지만, 텍스트 파일에서는 1하고 0이 각각 ‱ , ‰ 로 표현되는 문제가 있었습니다.

결국 파일 출력부분을

fprintf(fn,"%2d", var[i][j]);

로 수정해서 파일에 출력하여 어찌어찌 해결하긴했습니다만

해당 변수말고 0,1이 아닌 원소를가진 1차원 배열을 출력할때는 fprintf(fn,"%d ", var2[i]) 로도 잘나오던데

왜 이런현상이 발생한건지 모르겠어서 질문을 드립니다.

김정균의 이미지

코드 부분이 이상하게 파싱되어서 코드 블럭으로 보정해 드렸습니다.

익명 사용자의 이미지

인트형 2차원 동적배열을 만드는 부분이 잘못되었습니다.