TEXT파일 NULL값 출력 되지않게 하기..
루라
안녕하세요 그저께 질문했던 사람입니다....
아직 생초보라 그런지.. 짜는게 아직 어렵고 힘드네요....
그 프로그램은 포기하고 새로 짜봤습니다..
파일에 NULL값이 나오면 출력이 되지않게 하고싶은데
if문으로 쓰면 될줄알았는데... 안되네요....
제가 하려는 방법 말고 다른 좋은 방법이있으시면 조언부탁드립니다....파일에 저장되지않은 NULL값이 나오지 않게 하고싶습니다
질문 내용 : #include stdio.h
#include stdlib.h
#include string.h
#define MAX_BUF 255
//--------------------------------구조체 선언
struct people{
char name[50];
char major[50];
char grade[8];
char age[4];
}; struct people str[MAX_BUF]; //구조체배열
FILE *fp1, *fp2;
int load()
{
int i;
fp2 = fopen(list.txt,r+);
for(i=1 ; i=MAX_BUF ; i++)
{
fscanf(fp2, %s %s %s %s, &str[i].name, &str[i].major, &str[i].grade, &str[i].age );
}
fclose(fp2);
return 0;
}int print_list()
{
int i;
printf(관리하고 있는 사람들 목록입니다()\n);
for(i=1 ; i=MAX_BUF ; i++)
{
if( str[i].name == NULL ){ }else{ printf(#%3d 이름 : %-10s 학과 : %-14s 학번: %-8s 나이:%-2s\n,i,&str[i].name, &str[i].major, &str[i].grade,&str[i].age); //이 부분입니다....
}
} return 0;
}int insert()
{
char a[50],b[50],c[8],d[4];
fp2=fopen(list.txt,a);
printf(이름을 입력해 주세요 : );
scanf(%s,&a);
printf(학과를 입력해 주세요 : );
scanf(%s,&b);
printf(학번을 입력해 주세요 : );
scanf(%s,&c);
printf(나이를 입력해 주세요 : );
scanf(%s,&d);
fprintf(fp2,%s %s %s %s\n,&a,&b,&c,&d);
printf(추가를 완료했습니다.\n);
fclose(fp2);
return 0;
}
int main()
{
int input;
load();
printf([1]검색 [2]삽입 [3]수정 [4]파일내용 [5]목록 [6]목록삭제 [0]종료 : );
while(1){
scanf(%d,&input);
switch(input){
/* case 1:
search();
printf([1]검색 [2]삽입 [3]수정 [4]파일내용 [5]목록 [6]목록삭제 [0]종료 : );
 sp; break;*/
case 2:
insert();
load();
printf([1]검색 [2]삽입 [3]수정 [4]파일내용 [5]목록 [6]목록삭제 [0]종료 : );
break;
/* case 3:
수정함수();
break; */
case 4:
print_list();
printf([1]검색 [2]삽입 [3]수정 [4]파일내용 [5]목록 [6]목록삭제 [0]종료 : );
break;
/* case 5:
이름목록함수();
break;
case 6:
delete_list();
printf([1]검색 [2]삽입 [3]수정 [4]파일내용 [5]목록 [6]목록삭제 [0]종료 : );
break; */
case 0:
printf(담에 뵈요 . \n);
return 0;
break;
default:
printf(올바른 명령을 입력해주세요.\n);
printf([1]검색 [2]삽입 [3]수정 [4]파일내용 [5]목록 [6]목록삭제 [0]종료 : );
break;
}
}
fclose(fp2);
return 0;
}