Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "conio.h"
- #include <iomanip>
- #include <fstream>
- #include <cstdlib>
- using namespace std;
- //Hàm thực hiện chỉnh sửa
- //thay thế 1 ký tự trong chuỗi str bằng 1 chuỗi con.
- void chinhsua(wchar_t str[], wchar_t* str2)
- {
- int i = 0;
- //wchar_t str2[100] = L"";
- wchar_t themO[20] = L"<td>"; //chuỗi con được thêm
- wchar_t DongHang[20] = L"<tr>";
- wchar_t MoHang[20] = L"<td>";
- int n = wcslen(str);
- int k = 2;
- while ( i < n)
- {
- if ( str[i] == L'|')
- {
- wcscat(str2,themO);//nếu ký tự tại vị trí j là ký tự cần thay thế thì chèn chuỗi con vào
- }
- else if ( str[i] == L'\r')
- {
- wcscat(str2,DongHang);//nếu ký tự tại vị trí j là ký tự cần thay thế thì chèn chuỗi con vào
- }
- else if ( str[i] == L'\n')
- {
- wchar_t So[4] = L"";
- wcscat(str2,MoHang);//nếu ký tự tại vị trí j là ký tự cần thay thế thì chèn chuỗi con vào
- itoa (k, (char*) So, 10);
- wcscat(str2,So);
- wcscat(str2,MoHang);
- k++;
- }
- else
- str2[wcslen(str2)] = str[i]; //ngược lại cứ đọc tới hết ký tự.
- i++;
- }
- }
- int doiChuSangSo(char a)
- {
- int b;
- char c;
- b = a- 48;
- return b;
- }
- void open_HTML(fstream &file)
- {
- wchar_t OPEN_HTML[200] = L"<html><body><table border=\"3\" cellpadding = \"6\">";
- wchar_t ROW_ONE[200] = L"<tr><th> STT <th> MSSV <th> Họ và Tên <th>Năm Sinh";
- wchar_t ROW_TWO[30] = L"<tr><td> 1 <td>";
- int n = wcslen(OPEN_HTML);
- file.write((char*)&OPEN_HTML, n*sizeof(wchar_t));
- n = wcslen(ROW_ONE);
- file.write((char*)&ROW_ONE, n*sizeof(wchar_t));
- n = wcslen(ROW_TWO);
- file.write((char*)&ROW_TWO, n*sizeof(wchar_t));
- }
- void main()
- {
- fstream fInput;
- char encoding[3] = {0x00, 0x00, 0x00};
- fstream Output;
- int So = 0;
- int i;
- wchar_t DaySo[11] = L"";
- fInput.open("Output.txt", ios_base::in | ios_base::binary);
- fInput.read((char*)&encoding, 3);
- if((encoding[0] == (char)0xFF && encoding[1] == (char)0xFE) ||(encoding[0] == (char)0xFE && encoding[1] == (char)0xFF))
- {
- fInput.seekg(2, ios_base::beg);
- }
- else if(encoding[0] == (char)0xEF && encoding[1] == (char)0xBB && encoding[2] == (char)0xBF)
- {
- fInput.seekg(3, ios_base::beg);
- }
- else
- {
- fInput.seekg(4,ios::beg);
- }
- fInput.read((char*) &DaySo, 10*sizeof(wchar_t));
- for ( i = 0; i <= 10; i++)
- {
- if ( DaySo[i] >= L'0' && DaySo[i] <= L'9')
- {
- So = So*10 + doiChuSangSo((char)DaySo[i]);
- }
- else
- break;
- }
- fInput.close();
- Output.open("Thienlang.html",ios_base::out,ios_base::binary);
- char encodingIN[2] = {0xFF, 0xFE};
- Output.write(encodingIN, sizeof(encodingIN));
- int n;
- fInput.open("Output.txt", ios_base::in | ios_base::binary);
- fInput.read((char*)&encoding, 3);
- //; luôn luôn khởi tạo giá trị ban đầu!
- if((encoding[0] == (char)0xFF && encoding[1] == (char)0xFE) ||(encoding[0] == (char)0xFE && encoding[1] == (char)0xFF))
- {
- fInput.seekg(2, ios_base::beg);
- }
- else if(encoding[0] == (char)0xEF && encoding[1] == (char)0xBB && encoding[2] == (char)0xBF)
- {
- fInput.seekg(3, ios_base::beg);
- }
- else
- {
- fInput.seekg(4,ios::beg);
- }
- fInput.seekg(4+(2*i),ios::cur);
- open_HTML(Output);
- while ( !fInput.eof())
- {
- wchar_t line[100] = L"";
- wchar_t line2[200] = L"";
- fInput.read((char*)&line, 100);
- chinhsua(line,line2);
- n = wcslen(line2);
- Output.write((char*)&line2, n*sizeof(wchar_t));
- }
- Output.close();
- fInput.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement