파일입출력 문제입니다
하예
질문 제목 : 파일입출력, 동적할당 연관 코드 문제입니다질문 내용 :
메모장 파일으로부터 내용을 읽어들여 동적할당된 메모리 영역에 저장하고 그 내용을 출력하는 프로그램을 만드는중인데파일입출력 부분에서 잘안되네요 ㅠㅠㅠ파일에는 두개의 숫자가파일 내용 ( {} 괄호 안의 내용이 전부 파일 내용입니다.)
{
1 2
1 1
2 2
2 3
------
1 2
2 3
}이 파일을 입력받아 int형 동적할당 메모리영역에 저장하려고 합니다
파일 포인터 선언이나 동적할당, 다른 부분은 잘 되는 것 같은데 while문 하나가 문제인 것 같습니다 name=(char*) malloc(sizeof(char)*10); // 파일명의 크기 선언 scanf(%s,name); // 파일명 입력 data=fopen(name,r); if(data == null){
printf(파일 열기 실패\n);
exit(100);
} while(!feof(data)){ // 파일 열어서 파일의 데이터 중 마지막 열을 a에 저장
fscanf(data,%d,&a);
fscanf(data,%d,&b);
printf(%d%d,a,b);
}실행하면 자꾸 콘솔창에서 에러창이 뜨는데 마지막의 while문 때문인것 같습니다
while문에서 a에 첫째열의 첫번째 숫자, b에 첫째열의 두번째 숫자를 입력받는 건데요
printf는 제가 어떤게 입력되는지 확인해보려고 해둔거구요.int형 숫자를 입력받다가 갑자기 ------ 를 입력받으면 이를 감지하는 것을 if문으로 넣고 break;을 통해 while문을 빠져나오면 될 것 같은데어떤함수나 어떤 방법을 써야할지 잘모르겠네요..ㅠㅠㅠㅠprintf문으로 확인해보니 모든숫자가 읽혀지고 ------ 차례가되니 그냥 계속 마지막 숫자가 저장되고 무한대로 그 마지막숫자가 계속 출력됩니다....ㅠㅠㅠㅠ 어떻게해야 ------를 인식하고 그 이후의 프로그램 실행 조건을 계속 써나갈수 있을까요????