=== 소 감 === strlen이라는 기본 함수가 있긴한데(아영이 소스 보고 알았음;;) 프로그래밍 이미 짜놓고 알았다-_-; 심심해서 메인함수는 걍 짧게 해보았음;; 소스파일이 한글이면 제대로 리버스가 안되요 ㅠㅠ === 코 드 === {{{~cpp #include #define BUFFER_SIZE 50 //string의 길이를 잽니다. int strlen(char str[]) { int len=0; while(1) { if (str[len] == 0 || str[len] == '\0') break; len++; } return len; } //두 문자를 바꿉니다. void exchange_char(char *a, char *b) { char tmp; tmp = *a; *a = *b; *b = tmp; } //함수를 역순 시킵니다. void reverse_array(char str[]) { int len=0, p=0; len = strlen(str); while(1) { if( (len-1)-p <= p ) break; exchange_char(&str[p], &str[len-1-p]); p++; } } void openiofiles(char* infilename,char* outfilename, FILE** fin, FILE** fout, char** buf[]) { *fin = fopen(infilename,"rt"); *fout = fopen(outfilename,"wt"); fgets(buf,BUFFER_SIZE,*fin); } void closeiofiles(FILE** fin, FILE** fout, char buf[]) { fputs(buf,*fout); fclose(*fout); fclose(*fin); } int main() { FILE *fin, *fout; char buf[BUFFER_SIZE]; //파일을 엽니다 openiofiles("source.txt","result.txt",&fin,&fout,buf); //역순으로 만듭니다. reverse_array(buf); //파일을 닫습니다. closeiofiles(&fin,&fout,buf); return 0; } }}} === 나한테 할 말 === 올.. 역할 분담 잘했군 +_+ , 나도 다음부턴 그렇게 짜야겠다.! 물어볼 게 있는데, strlen 함수 만들었잖아. 너가 그 함수 만든 원리 설명좀 ^^ --[아영] 문자"열"은 항상 맨 끝에 '\0'값을 붙여서 문자열들이 끝이라는걸 알려주니 그전에 문자들의 갯수를 세었어 지금보니까 {{{~cpp str[len] == 0 || str[len] == '\0' 요렇게 두번 쓸 필요 없이 str[len] == '\0'}}} 처럼 하나만 써도 될거같네 ㅇㅅㅇ/ - 태훈[zyint] ---- [LittleAOI] [문자반대출력]