<div>int readaline_and_out(FILE *fin, FILE *fout)<br>{ <br> int ch, count = 0;</div> <div> char buf[1024] = {0,};<br> char result[1024] = {0,};<br> </div> <div> do {<br> if ((ch = fgetc(fin)) == EOF) {<br> if (!count)<br> return 1;<br> else {<br> buf[count] = 0x0a;<br>// fputc(0x0a, fout);<br> break;<br> }<br> }<br> buf[count] = ch;<br>// fputc(ch, fout);<br> count++;<br> } while (ch != 0x0a);</div> <div> reverseArray(buf, result, count-1);<br> <br> fputs(result, fout); <br> </div> <div> return 0;<br>}</div> <div> </div> <div>void reverseArray(char * src, char * dest, int size)<br>{<br> int i = 0;<br> int j = size - 1;</div> <div> for(i=0; i<size; i++) {<br> dest[i] = src[j];<br> j--;<br> }<br> dest[size] = 0x0a;<br>}</div> <div> </div> <div>위 함수가 배열에 문자열을 삽입하는 함수, (주석친 fputc 대신 배열을 활용했는데요, fputc에서 char마다 접근하던 것을 line 단위로 접근하도록 의도했습니다)</div> <div> </div> <div>밑에 배열이 입력된 문자열을 reverse하는 함수인데요.</div> <div> </div> <div>여기서 성능을 좀더 개선할 수 있을까요?<br></div> <div>main에는 성능측정 코드가 들어가있는데, fputc로 char마다 접근하는 방식에서 배열접근 방식으로 바꾸니 기존에 120ms정도의 수행시간에서</div> <div> </div> <div>평균 100ms정도로 감소는 했습니다만 두자리수로 줄일수는 없을까 해서요..</div> <div> </div> <div>혹시 다른 방식으로 시간을 감소시킬 수는 없을까요~~ </div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.