c언어 파일에서 불러온 문자열 배열에 대입에 대하여 질문있습니다!

jhh1117의 이미지

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자 이내라면 가능한데 그 이상이 넘어 갈경우에는 오류가 뜹니다ㅠㅠ
아무래도 동적할당을 문자길이마다 다르게 줘야 할꺼 같은데 사용법을 잘 모르겠습니다...

혹시 제가 쓴 방법외에 다른방법이 있는지도 궁금합니다! 실행시간이 짧아지는게 목표입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.