segmentation fault 질문이요 ㅠㅠ
첫빛
질문 제목 : segmentation fault 질문이요 ㅠㅠ fopen 이랑 fscanf 질문이요....질문 내용 :
config.txt라는 파일에 파일정보에대한 2줄이있는데요
그걸 initialize 함수에서 첫번째줄 두번째줄을 fsacnf로 받아온다음에 outputfile과 defaultdir 에 넣은후 init_output이라는 함수를 호출에서 그 저장한 내용 으로부터 파일정보를 가지고오는건데요밑에는소스중 일부이고 처음부터 차근차근해나가는데
initialize 의 fsacnf 부터 자꾸 segmentation 오류가나요..
뭐가 잘못됬는지좀 알려주세여 그리구 중간중간에 fprintf 문 넣어서 어디까지 진행되었나 확인해보고싶은데
fprintf문 어떻게 넣어야하는지두 좀알려주세요 ㅠㅠ부탁드려요
#include sys/types.h
#include sys/stat.h
#include unistd.h
#include fcntl.h
#include dirent.h
#include stdio.h
extern char *defaultdir;
extern char *outputfile;
void init_output(char *dir){
file *fp, *fp2;
char buf[256];
fp = fopen(outputfile,rwx);
fscanf(fp, %s, buf);
dir *dirp;
struct dirent *dentry;
struct stat finfo;
dirp = opendir(dir);
while(dentry = readdir(dirp))
if(dentry-d_ino != 0) {
if(strcmp(..,dentry-d_name)==0 || strcmp(.,dentry-d_name)==0)
continue;
stat(dentry-d_name,&finfo);
sprintf(str,md5sum %s tmp,dentry-d_name);
system(str);
fp2 = fopen(tmp,rwx);
fscanf(fp, %s, buf);
remove(tmp);
fprintf(fp, %s %o %d %d %s\n,dentry-d_name finfo.st_mode, finfo.st_uid, finfo.st_gid);
}
closedir(dirp);
}
void initialize(){
file *fp;
char buf[1024];
char buf2[1024];
fp = fopen(./config.txt,rwx);
fscanf(fp, %s, buf);
defaultdir = buf;
fscanf(fp,%s, buf2);
outputfile = buf2;
init_output(defaultdir);
}void main(){
initialize();
}