Advertisement
thienlang

Ghi HTML theo mau.

Apr 13th, 2013
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.55 KB | None | 0 0
  1. #include <iostream>
  2. #include "conio.h"
  3. #include <iomanip>
  4. #include <fstream>
  5. #include <cstdlib>
  6. using namespace std;
  7.  
  8. //Hàm thực hiện chỉnh sửa
  9. //thay thế 1 ký tự trong chuỗi str bằng 1 chuỗi con.
  10. void chinhsua(wchar_t str[], wchar_t* str2)
  11. {
  12.     int i = 0;
  13.     //wchar_t str2[100] = L"";
  14.     wchar_t themO[20] = L"<td>"; //chuỗi con được thêm
  15.     wchar_t DongHang[20] = L"<tr>";
  16.     wchar_t MoHang[20] = L"<td>";
  17.     int n =  wcslen(str);
  18.     int k = 2;
  19.    
  20.     while ( i < n)
  21.     {
  22.         if ( str[i] == L'|')
  23.         {
  24.             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
  25.         }
  26.         else if ( str[i] == L'\r')
  27.         {
  28.             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
  29.         }
  30.         else if  ( str[i] == L'\n')
  31.         {
  32.             wchar_t So[4] = L"";
  33.             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
  34.             itoa (k, (char*) So, 10);
  35.             wcscat(str2,So);
  36.             wcscat(str2,MoHang);
  37.             k++;
  38.         }
  39.         else
  40.             str2[wcslen(str2)] = str[i]; //ngược lại cứ đọc tới hết ký tự.
  41.         i++;
  42.     }
  43.    
  44. }
  45.  
  46. int doiChuSangSo(char a)
  47. {
  48.     int b;
  49.     char c;
  50.     b = a- 48;
  51.     return b;
  52. }
  53.  
  54. void open_HTML(fstream &file)
  55. {
  56.     wchar_t OPEN_HTML[200] = L"<html><body><table  border=\"3\" cellpadding = \"6\">";
  57.     wchar_t ROW_ONE[200] = L"<tr><th> STT <th> MSSV <th> Họ và Tên <th>Năm Sinh";
  58.     wchar_t ROW_TWO[30] = L"<tr><td> 1 <td>";
  59.  
  60.     int n = wcslen(OPEN_HTML);
  61.     file.write((char*)&OPEN_HTML, n*sizeof(wchar_t));
  62.  
  63.     n = wcslen(ROW_ONE);
  64.     file.write((char*)&ROW_ONE, n*sizeof(wchar_t));
  65.  
  66.     n = wcslen(ROW_TWO);
  67.     file.write((char*)&ROW_TWO, n*sizeof(wchar_t));
  68.  
  69. }
  70.  
  71.  
  72. void main()
  73. {
  74.     fstream fInput;
  75.    
  76.     char  encoding[3] = {0x00, 0x00, 0x00};
  77.     fstream Output;
  78.  
  79.    
  80.     int So = 0;
  81.     int i;
  82.     wchar_t DaySo[11] = L"";
  83.     fInput.open("Output.txt", ios_base::in | ios_base::binary);
  84.    
  85.     fInput.read((char*)&encoding, 3);
  86.     if((encoding[0] == (char)0xFF && encoding[1] == (char)0xFE) ||(encoding[0] == (char)0xFE && encoding[1] == (char)0xFF))
  87.     {
  88.  
  89.    
  90.  
  91.     fInput.seekg(2, ios_base::beg);
  92.  
  93.  
  94.     }
  95.     else if(encoding[0] == (char)0xEF && encoding[1] == (char)0xBB  && encoding[2] == (char)0xBF)
  96.     {
  97.         fInput.seekg(3, ios_base::beg);
  98.  
  99.     }
  100.     else
  101.     {
  102.        
  103.         fInput.seekg(4,ios::beg);
  104.  
  105.     }
  106.  
  107.  
  108.  
  109.     fInput.read((char*) &DaySo, 10*sizeof(wchar_t));
  110.     for ( i = 0; i <= 10; i++)
  111.     {
  112.        
  113.         if ( DaySo[i] >= L'0' && DaySo[i] <= L'9')
  114.         {
  115.             So = So*10 + doiChuSangSo((char)DaySo[i]);
  116.         }
  117.         else
  118.             break;
  119.     }
  120.     fInput.close();
  121.     Output.open("Thienlang.html",ios_base::out,ios_base::binary);
  122.     char  encodingIN[2] = {0xFF, 0xFE};
  123.     Output.write(encodingIN, sizeof(encodingIN));
  124.    
  125.     int n;
  126.     fInput.open("Output.txt", ios_base::in | ios_base::binary);
  127.    
  128.     fInput.read((char*)&encoding, 3);
  129.     //; luôn luôn khởi tạo giá trị ban đầu!
  130.     if((encoding[0] == (char)0xFF && encoding[1] == (char)0xFE) ||(encoding[0] == (char)0xFE && encoding[1] == (char)0xFF))
  131.     {
  132.  
  133.    
  134.  
  135.     fInput.seekg(2, ios_base::beg);
  136.  
  137.  
  138.     }
  139.     else if(encoding[0] == (char)0xEF && encoding[1] == (char)0xBB  && encoding[2] == (char)0xBF)
  140.     {
  141.         fInput.seekg(3, ios_base::beg);
  142.  
  143.     }
  144.     else
  145.     {
  146.        
  147.         fInput.seekg(4,ios::beg);
  148.  
  149.     }
  150.  
  151.     fInput.seekg(4+(2*i),ios::cur);
  152.  
  153.  
  154.     open_HTML(Output);
  155.  
  156.     while ( !fInput.eof())
  157.     {
  158.        
  159.         wchar_t line[100] = L"";
  160.         wchar_t line2[200] = L"";
  161.         fInput.read((char*)&line, 100);
  162.  
  163.  
  164.         chinhsua(line,line2);
  165.         n = wcslen(line2);
  166.         Output.write((char*)&line2, n*sizeof(wchar_t));
  167.     }
  168.  
  169.  
  170.     Output.close();
  171.    
  172.     fInput.close();
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement