파일입출력에서 원하는 정보만 받고싶은데요..
새누
질문 제목 : 파일입출력에서 원하는 정보만 받고싶은데요..질문 요약 :제가 짜고 싶은 것은 사람들 정보가 있으면 그 사람들중 한명만 검색해서 그 사람 이름을 수정하고 싶어요
구조체가
struct Student{
char S_num[1000]; //고유넘버
char S_id[10]; //학번
char S_major[15]; //학과
char S_grade[4]; //학년
char S_name[8]; //이름
char S_Phone[15]; //연락처
char S_Address[50]; //주소
}information;
이렇게 있다면 고유넘버와 동일한 인물만 이름수정을 하고싶거든요?
그런데 저 소스에서는 무조건 첫번째로 등록된 사람만 수정되고 나머진 수정이 안되네요..
검색할땐 특정한 한사람씩은 다 검색됩니다...
어떻게해야 고유번호로 동일한 사람만 찾아서 수정하게 해줄지를 감을 못잡겠어요.. 도와주세요 ㅠㅠ
질문 내용 :
void modify_name(){
int state=0;
/* 파일 생성 */
FILE * Student_Information = fopen(S_Information2.txt,r+b);
if(Student_Information==NULL){
printf(파일 열기 에러 \n);
return 1;
}if(feof(Student_Information) != 0){
printf(파일끝);
}else{
fread(&information,sizeof(information),1,Student_Information); //fread함수로 파일을 불러온다.
Student_Information = fopen(S_Information2.txt,r+b);
fgets(information.S_num,0,Student_Information);
printf(%s,information.S_num);
fflush(stdin);
fputs(수정할 이름 : ,stdout);
gets(information.S_name);
fwrite(&information,sizeof(information),1,Student_Information); //파일 저장
}
state = fclose(Student_Information);
if(state!=0){
printf(파일 닫기 에러 \n);
return 1;
}
}