~cpp #include <fstream> #include <algorithm> #include <string> using namespace std; string read_file(); void write_file(const string & str); void main() { string str = read_file(); reverse(str.begin(), str.end()); // 문자열을 거꾸로 해주는 STL 함수 write_file(str); } // 파일로부터 문자열을 읽어들인다. string read_file() { string str; fstream fin("source.txt"); char ch = fin.get(); while (ch != EOF) { str += ch; ch = fin.get(); } return str; } // 파일에 문자열을 쓴다. void write_file(const string & str) { fstream fout("result.txt"); fout << str; }
~cpp #include <fstream> #include <algorithm> #include <string> using namespace std; string read_file(); void write_file(const string & str); void process_wchar(string & str); void main() { string str = read_file(); process_wchar(str); reverse(str.begin(), str.end()); // 문자열을 거꾸로 해주는 STL 함수 write_file(str); } // 확장문자를 위한 전처리 함수 void process_wchar(string & str) { // str[i]는 char. 하지만 이것이 확장문자의 일부라면 음수가 담기게 된다. for (int i = 0; i < str.length(); i++) { if (str[i] < 0 && str[i + 1] < 0) { swap(str[i], str[i+1]); i++; } } } // 파일로부터 문자열을 읽어들인다. string read_file() { string str; fstream fin("source.txt"); char ch = fin.get(); while (ch != EOF) { str += ch; ch = fin.get(); } return str; } // 파일에 문자열을 쓴다. void write_file(const string & str) { fstream fout("result.txt"); fout << str; }