소 감 ¶
strlen이라는 기본 함수가 있긴한데(아영이 소스 보고 알았음;;)
프로그래밍 이미 짜놓고 알았다-_-;
프로그래밍 이미 짜놓고 알았다-_-;
심심해서 메인함수는 걍 짧게 해보았음;;
소스파일이 한글이면 제대로 리버스가 안되요 ㅠㅠ
코 드 ¶
~cpp #include <stdio.h> #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; }