c언어 파일에서 불러온 문자열 배열에 대입에 대하여 질문있습니다!
글쓴이: jhh1117 / 작성시간: 화, 2014/12/02 - 11:34오후
int main( void) { FILE *fp_sour; char *buf; int buf_size; int i = 0; int j = 0; int k = 0; char *temp; element e; //저장할 구조체 buf_size = 1024; temp = malloc((char*)sizeof(char)); if (fp_sour = fopen("test.txt", "r")) { buf = malloc( buf_size+5); while(fgets(buf, buf_size, fp_sour)){ for(i = 0;i<strlen(buf);i++){ if(buf[i] == ' ' || buf[i] == '\n'){ temp[j] = ' '; printf("temp %s \n", temp); j = 0; e.word = temp; } else{ temp[j] = buf[i]; j++; } } } temp[j] = '\n'; printf("temp %s\n", temp); e.word = temp; } return 0; }
test파일에 있는 모든 문자열을 띄어쓰기 단위로 temp에 저장 했다가 제가 지정한 순서대로 element.word에 넣으려고 합니다.
예를 들어 txt파일이
aaa bbb ccc ddd
eee fffff gggg hhhh
이런식으로 있을 때 띄어쓰기 단위로 단어를 추출하려고 하는데
단어의 길이가 15자 이내라면 가능한데 그 이상이 넘어 갈경우에는 오류가 뜹니다ㅠㅠ
아무래도 동적할당을 문자길이마다 다르게 줘야 할꺼 같은데 사용법을 잘 모르겠습니다...
혹시 제가 쓴 방법외에 다른방법이 있는지도 궁금합니다! 실행시간이 짧아지는게 목표입니다.
Forums:
댓글 달기