int readaline_and_out(FILE *fin, FILE *fout)
{   
    int ch, count = 0;

    char buf[1024] = {0,};
    char result[1024] = {0,};
 

    do {
        if ((ch = fgetc(fin)) == EOF) {
            if (!count)
                return 1;
            else {
  buf[count] = 0x0a;
//              fputc(0x0a, fout);
                break;
            }
        }
 buf[count] = ch;
//      fputc(ch, fout);
        count++;
    } while (ch != 0x0a);

    reverseArray(buf, result, count-1);
 
    fputs(result, fout);
    

    return 0;
}

 

void reverseArray(char * src, char * dest, int size)
{
    int i = 0;
    int j = size - 1;

    for(i=0; i<size; i++) {
 dest[i] = src[j];
 j--;
    }
    dest[size] = 0x0a;
}



위 함수가 배열에 문자열 삽입 (주석친 fputc로 char당 접근하는 방법 대신 배열에 line단위로 바로삽입)

밑 함수가 저장된 문자열을 reverse하는 함수인데요.


메인에는 이 함수들에 대한 수행시간을 측정하는 코드가 있습니다.


fputc에서 배열방식으로 바꾼후 실행해보니 수행시간이 120ms -> 100ms로 줄긴 했는데, 두자리수 진입시키고 싶어요.


fgets를 사용하는 방법 외에 어떤 방법을 사용해야 좀더 수행시간이 빨라질 수 있을까요? 추가해야한다거나. 하는 내용 있으면 좀 알려주세요..ㅠ.ㅠ