Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //edit string and in out file
- //***************************************//
- //Chương trình được code trên visual studio 2012.
- #define _CRT_SECURE_NO_WARNINGS
- #include "iostream"
- #include "string"
- #include "fstream"
- #include "conio.h"
- #include "cstring"
- using namespace std;
- //hàm mở file.
- //mở file "file" có tên name để đọc.
- //mở file dạng nhị phân.
- void open_File_Read(fstream &file, string name);
- //hàm mở file để ghi.
- //file có tên name.
- //ghi dạng nhị phân
- void open_File_Write(fstream &file,string name);
- //hàm kiểm tra file có mở
- //nếu có trả về giá trị true.
- //nếu không mở được trả vè false.
- bool check_File( fstream &file);
- //hàm đóng file
- //đóng file "file"
- void close_File(fstream &file);
- //Hàm đọc file "file" ra chuỗi str
- void Read_File(fstream &file, string &str);
- //hàm chuẩn hóa chuỗi str
- //loại khoảng trắng thừa ở đầu.
- //loại khoảng trắng thừa ở cuối
- //loại các khoảng trắng liên tiếp.
- void edit_Str(string &str);
- //Hàm xóa khoảng trắng ở đầu chuỗi
- void edit_Str_Start(string &str);
- //Hàm xóa khoảng trắng ở cuối chuỗi
- void edit_Str_End(string &str);
- //Hàm Xóa các khoảng trẳng liên tiếp trong chuỗi.
- void edit_Str_Mid(string &str);
- //hàm ghi 1 chuỗi string vào file.
- void Write_File(fstream &file, string &str);
- void main()
- {
- fstream fileIn;
- fstream fileOut;
- string str;
- open_File_Read(fileIn,"input.txt"); //mở file Input
- if (!check_File( fileIn )) //Kiểm tra tồn tại của file Input
- return;
- Read_File(fileIn,str); //Đọc file Input
- close_File(fileIn); //Đóng file Input
- edit_Str(str); //chuẩn hóa chuỗi đọc được từ file Input
- open_File_Write(fileOut,"output.txt"); //mở file output có tên "output.txt"
- Write_File(fileOut,str); //ghi str vào fileOut.
- close_File(fileOut); //Đóng fileOut
- }
- //hàm mở file.
- //mở file "file" có tên name để đọc.
- //mở file dạng nhị phân.
- void open_File_Read(fstream &file, string name)
- {
- file.open(name,ios::in|ios::binary);
- }
- //hàm mở file để ghi.
- //file có tên name.
- //ghi dạng nhị phân
- void open_File_Write(fstream &file,string name)
- {
- file.open(name,ios::out|ios::binary);
- }
- //hàm kiểm tra file có mở
- //nếu có trả về giá trị true.
- //nếu không mở được trả vè false.
- bool check_File( fstream &file)
- {
- if ( !file.is_open())
- {
- cout << "file khong ton tai";
- return false;
- }
- return true;
- }
- //hàm đóng file
- //đóng file "file"
- void close_File(fstream &file)
- {
- file.close();
- }
- //Hàm đọc file "file" ra chuỗi str
- void Read_File(fstream &file, string &str)
- {
- getline(file,str);
- }
- //hàm chuẩn hóa chuỗi str
- //loại khoảng trắng thừa ở đầu.
- //loại khoảng trắng thừa ở cuối
- //loại các khoảng trắng liên tiếp.
- void edit_Str(string &str)
- {
- edit_Str_Start(str);
- edit_Str_End(str);
- edit_Str_Mid(str);
- }
- //Hàm xóa khoảng trắng ở đầu chuỗi
- void edit_Str_Start(string &str)
- {
- int n = str.length();
- int i = 0;
- while ( i < n && str[i] == ' ')
- i++;
- str.erase(0,i);
- }
- //Hàm xóa khoảng trắng ở cuối chuỗi
- void edit_Str_End(string &str)
- {
- int n = str.length();
- int i = 0;
- while (n > 0 && str[n-1] == ' ')
- {
- n--;
- i++;
- }
- str.erase(n,i);
- }
- //Hàm Xóa các khoảng trẳng liên tiếp trong chuỗi.
- void edit_Str_Mid(string &str)
- {
- string s = " "; //chuỗi s là chuỗi có 2 khoảng trắng liên tiếp
- int loca;// biến lưu vị trí chứa 2 khoảng trắng trong chuỗi.
- loca = str.find(s);
- while ( loca != -1 )
- {
- str.erase(loca,1);
- loca = str.find(s);
- }
- }
- //hàm ghi 1 chuỗi string vào file.
- void Write_File(fstream &file, string &str)
- {
- file << str;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement