Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: file exe bị lỗi

  1. #1
    Ngày gia nhập
    05 2008
    Nơi ở
    Hà Nội
    Bài viết
    16

    Mặc định file exe bị lỗi

    mình vùa làm xong chương trình ! trong trình dịch borland c mình ctrl + F9 thì chạy rất ổn ! mọi thứ đều tuyệt ! nhưng khi thoát khỏi borland c rồi chạy lại cái file exe đó thì nó lại lỗi chổng vó ! :(( không hiểu sao nữa ! có bạn nào gặp tình huống như mình chưa ! chương trình của mình có lệnh ghi và xóa file ! không biết có phải vì thế không ???

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà Nội
    Bài viết
    361

    dễ thế lắm , lỗi có thể là do mở file không tồn tại, do lần chạy trước xoá mất tiêu rồi , hoặc file đang bị chương trình khác đọc .... , chạy bằng code lại thử đi
    Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/

    mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
    http://www.tinhte.vn/threads/691731/

  3. #3
    Ngày gia nhập
    05 2008
    Nơi ở
    Hà Nội
    Bài viết
    16

    ừ mình thư rồi ! không phải do file đọc vào ! vì mình thử đi thử lại trên cùng một file đọc vào mà ! ah khi mình thoát ra khỏi exe của borland thì borland cũng bị thoát ra luôn ! không như mọi khi nó chỉ thoát mỗi cái exe đó thôi (không thoát borland )!
    Đã được chỉnh sửa lần cuối bởi calme1202 : 24-05-2008 lúc 11:18 PM.

  4. #4
    Ngày gia nhập
    05 2008
    Nơi ở
    Hà Nội
    Bài viết
    16

    mong sớm có hồi âm ! hic hic
    Đã được chỉnh sửa lần cuối bởi calme1202 : 25-05-2008 lúc 12:06 AM.

  5. #5
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất nhiều sóng gió
    Bài viết
    447

    Trích dẫn Nguyên bản được gửi bởi calme1202 Xem bài viết
    mình vùa làm xong chương trình ! trong trình dịch borland c mình ctrl + F9 thì chạy rất ổn ! mọi thứ đều tuyệt ! nhưng khi thoát khỏi borland c rồi chạy lại cái file exe đó thì nó lại lỗi chổng vó ! :(( không hiểu sao nữa ! có bạn nào gặp tình huống như mình chưa ! chương trình của mình có lệnh ghi và xóa file ! không biết có phải vì thế không ???
    Bạn post code lên đi.

  6. #6
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Mặc định file exe bị lỗi

    Ct của cậu lỗi nhiều lắm, tui đưa vào VS 2005 build level 3 thôi thì warning/error đã ngợp.
    Lỗi do cậu dùng các con trỏ char * p...px, block...blockx... mà chỉ khai báo, không cấp phát vùng nhớ cho nó.
    Đã fix tạm cho cậu chạy được. Còn đúng hay sai thì cậu fix tiếp. Cậu code còn yếu lắm, cố gắng lên. Code từng đoạn nhỏ, function nhỏ trước. Kiểm tra nó xong rồi code function khác, kiểm tra tiếp... Cuối cùng gộp lại, kiểm tra lần cuối.
    Visual C++ Code:
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <string.h>
    4. #include <conio.h>
    5. #include <iostream>
    6. #include <fstream>
    7.  
    8. using namespace std;
    9.  
    10. // phep chia mod-2 hay con goi la phep chia tren truong da thuc (truong galois ) voi so bi chia la 1011 trong he nhi phan va la 11 trong he thap phan
    11. unsigned mod (unsigned b)
    12. {
    13.     unsigned a = b;
    14.     if (a&64) a = a ^ 88;
    15.     if (a&32) a = a ^ 44;
    16.     if (a&16) a = a ^ 22;
    17.     if (a&8)  a = a ^ 11;
    18.     return(a);
    19. }
    20.  
    21. //kiem tra xem file nhan vao co thoa man chia het theo truong galois khong
    22. unsigned int test (char c)
    23. {
    24.     unsigned a ;
    25.     a = mod(c);
    26.     if (a)return 0;
    27.     else return 1;
    28. }
    29.  
    30. //ham truyen lai // ham sua loi // ham nay se vao file transmit ban dau de timl bl
    31. unsigned char retransmit (int i)
    32. {
    33.     char *reblock = new char[i + 1], a;
    34.     ifstream re_in("transmit", ios::binary | ios::in);
    35.     re_in.seekg(i);
    36.     re_in.read(reblock, 1);
    37.     a = *reblock;
    38.     re_in.close();
    39.     return(a);
    40. }
    41.  
    42. // y tuong cua phan nay la su li file name vao ! de co the vua co the la name hoac link deu chap nhan duoc
    43. char* namefile (char *name)
    44. {
    45.     int n, x, y, z = 0;
    46.     char *b = new char[255];
    47.     n = strlen(name);
    48.     for (x = n;x > 0;x--)
    49.     {
    50.         if (name[x] == 92) // neu la dau '/' thi dung lai
    51.         {
    52.             for (y = x + 1; y < n; y++)
    53.             {
    54.                 b[z] = name[y];
    55.                 z++;
    56.             }
    57.             return b;
    58.         }
    59.     }
    60.     for (z = 0;z < n;z++)
    61.         b[z] = name[z];
    62.     return b;
    63. }
    64.  
    65. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    66. /*8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888*/
    67.  
    68. void main()
    69. {
    70.     char filename[100];
    71.     char c;
    72.  
    73. begin:
    74.  
    75.     cout << " ----  CHUONG TRINH MA HOA CRC TREN DOS  ---- \n\n";
    76.     cout << "  xin nhap ten cua file can truyen \n";
    77.     cout << "  file name : ";
    78.     cin >> filename;
    79.  
    80.     // phan xu ly ten file . de file ra se co dang fileout.xxx voi xxx la duoi file can sua
    81.     int x, y, z = 0;
    82.     char outfile[40] = "fileout";
    83.     x = strlen(filename);
    84.     y = strlen(outfile);
    85.     for (int i2 = x - 1;i2 > 0;i2--)
    86.     {
    87.         if (filename[i2] == 46)
    88.         {
    89.             // cout<< "co tim ra roi";
    90.             int j2 = y;
    91.             while ( j2 <= y + x - i2)
    92.             {
    93.                 outfile[j2] = filename[i2+z];
    94.                 j2++;
    95.                 z++;
    96.             }
    97.             outfile[j2] = '\0';
    98.         }
    99.     }
    100.  
    101.     //phan input////////////////////////////////////////////////////////////////////////
    102.     char *block1, *p1, low_block, high_block;
    103.     block1 = new char[100];
    104.     p1 = new char[100];
    105.     int crc;
    106.     ifstream input(filename, ios::binary | ios::in);
    107.     ofstream output("transmit", ios::trunc | ios::binary | ios::ate);
    108.  
    109.     //kiem tra xem file nhap vao co ton tai khong
    110.     if (!input)
    111.     {
    112.         cout << "\n\n-----------------------------------------------------------\n\n";
    113.         cout << "\n\nloi khong mo duoc file " ;
    114.         input.close();
    115.         output.close();
    116.         remove("transmit");
    117.     }
    118.     else
    119.     {
    120.         //thuc hien neu file co ton tai
    121.         input.seekg(0, ios::end);
    122.         long filesize = input.tellg();
    123.         input.seekg(0, ios::beg);
    124.         while (filesize)
    125.         {
    126.             input.read(block1, 1);
    127.             //tach bloc1 ra lam 2 byte chua 4 bit dau va cuoi
    128.             //ta nhan duoc 2 byte moi chua 4 bit du lieu cua byte ban dau voi vi tri 01111000 de su dung trong phep sau
    129.             low_block = *block1 & (0xF);
    130.             low_block = low_block << 3;
    131.             high_block = *block1 >> 4;
    132.             high_block = high_block << 3;
    133.  
    134.             // chia gia cac gia tri nay cho so G =11 hay 1011 xay dung khung 7bit
    135.  
    136.             crc = mod (high_block);
    137.             high_block = high_block | crc;
    138.             *p1 = high_block;
    139.             output.write(p1, 1);
    140.  
    141.             crc = mod (low_block);
    142.             low_block = low_block | crc;
    143.             *p1 = low_block ;
    144.             output.write(p1, 1);
    145.  
    146.             // ta co file transmit chua nhung file co du lieu duoc ma hoa khung 7 bit mot
    147.             // vi du file truyen vao se co gia tri la 11001110 thi 2 file ma hoa la 01100crc va 01110crc
    148.             //voi crc la phan du cua phep chia mod-2 o tren
    149.             filesize--;
    150.         }
    151.  
    152.         input.close();
    153.         output.close();
    154.  
    155.         //phan transmit////////////////////////////////////////////////////////////////////////
    156.         //phan nay co nhieu vu là làm hong cac bit cua file theo mot random nao dó
    157.         char *block = new char[100], *p = new char[100], ra = 0;
    158.  
    159.         //lay du lieu cua phan input de su ly // pha hong file nay theo mot random nao do
    160.         ifstream in("transmit", ios::binary | ios::in);
    161.         ofstream out("transmi2", ios::trunc | ios::binary); // dau ra se la file transmi2 cai nay quan trong
    162.         in.seekg(0, ios::end);                             // coi transmi2 se la file truyen den ben nhan
    163.         filesize = in.tellg();
    164.         in.seekg(0, ios::beg);
    165.  
    166.         srand(100);
    167.         while (filesize) //chay den het file
    168.         {
    169.             in.read(block, 1);
    170.             ra = rand();
    171.             if (ra < 8)
    172.             {
    173.                 if (ra < 4) *block = *block & 239 ;
    174.                 else      *block = *block & 223 ;
    175.                 *p = *block;
    176.                 out.write(p, 1);
    177.             }
    178.             else
    179.             {
    180.                 *p = *block;
    181.                 out.write(p, 1);
    182.             }
    183.  
    184.             filesize--;
    185.         }
    186.  
    187.         in.close();
    188.         out.close();
    189.  
    190.         /////////////////////////////////////////////////////////////////////////////////////
    191.         //phan output////////////////////////////////////////////////////////////////////////
    192.         unsigned long loi = 0;
    193.         char *block2 = new char[100], *p2 = new char[100], low, high;
    194.         unsigned long j = 0;
    195.         //phan kiem tra xem co loi hay khong va yeu cau truyen lai
    196.  
    197.         ifstream in3("transmi2", ios::binary | ios::in);
    198.         ofstream out3("data", ios::trunc | ios::binary);
    199.  
    200.         in3.seekg(0, ios::end);
    201.         filesize = in3.tellg();
    202.         in3.seekg(0, ios::beg);
    203.         while (filesize)
    204.         {
    205.             in3.read(block, 1);
    206.             if (test(*block))
    207.             {
    208.                 *p = *block;
    209.                 out3.write(p, 1);
    210.             }
    211.             else
    212.             {
    213.                 //yeu cau truyen lai//goi ham truyen lai
    214.                 *p = retransmit(j);
    215.                 out3.write(p, 1);
    216.                 loi++;
    217.             }
    218.             ++j;
    219.             filesize--;
    220.         }
    221.         in3.close();
    222.         out3.close();
    223.  
    224.         //giai ma///////////////////////////////////////////////////////////////////////////////////
    225.         //phan ket hop de duoc file ban dau
    226.  
    227.         ifstream in2("data", ios::in | ios::binary);
    228.         ofstream out2(outfile, ios::trunc | ios::binary);
    229.  
    230.         in2.seekg(0, ios::end);
    231.         filesize = in2.tellg();
    232.         in2.seekg(0, ios::beg);
    233.  
    234.         while (filesize)
    235.         {
    236.             in2.read(block2, 2);// cho nay con tro chi vao 2 byte
    237.  
    238.             //tu 2 byte co dang 01111crc va 01101crc chuyen ve 1 byte co dang 11111101
    239.             high = (char) * block2;
    240.             low = block2[1];
    241.             low = low >> 3;
    242.             high = high >> 3;
    243.             high = high << 4;
    244.             *p2 = high | low;
    245.             out2.write(p2, 1);
    246.             filesize -= 2;
    247.         }
    248.  
    249.         //xoa cac file nhap trong qua trinh
    250.         remove("data");
    251.         remove("transmi2");
    252.         remove("transmit");
    253.         in2.close();
    254.         out2.close();
    255.  
    256.         cout << " ----  CHUONG TRINH MA HOA CRC TREN DOS  ---- \n\n";
    257.         cout << "  xin nhap ten cua file can truyen \n";
    258.         cout << "\n\n-----------------------------------------------------------\n\n";
    259.  
    260.         cout << "\nfile co ten la " << filename << " da duoc truyen di \n\n";
    261.         cout << "so loi tren duong truyen la " << loi << " loi";
    262.         cout << "\n\nnhung tat ca cac loi da duoc sua \n\n";
    263.         cout << "file truyen di duoc luu co ten la " << outfile;
    264.         cout << "\n\n----------------------------------------------------------\n\n";
    265.  
    266.     } //dong else
    267.     cout << "\n\nban co muon truyen tiep khong (c\\k) \n";
    268.  
    269.     c = getch();
    270.     if (c == 'c' || c == 'C')
    271.         goto begin;
    272. }

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    ủa ở đâu bác kiếm ra code hay thế ? :-?

  8. #8
    Ngày gia nhập
    05 2008
    Nơi ở
    Hà Nội
    Bài viết
    16

    Trích dẫn Nguyên bản được gửi bởi kidkid Xem bài viết
    ủa ở đâu bác kiếm ra code hay thế ? :-?
    hihi hum trước tui úp lên nhưng thấy sai nhìu quá nên bỏ xuống sửa đã ! quyên up lại ! thanhk bác nhìu nhìu ! tại cuốn sách mình đọc thấy chỉ cần khai báo con trỏ như vậy nên mình không để ý ! giờ mới thấy tai hại khi sử dụng con trỏ không đúng cách ! :(

Các đề tài tương tự

  1. Cách add file thư viện dll vào file exe để tạo một file chạy duy nhất C#
    Gửi bởi nthung2112 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 20
    Bài viết cuối: 01-09-2012, 10:01 AM
  2. File backup .bak có dung lương lớn hơn file .mdb và file log
    Gửi bởi MYNAM trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 4
    Bài viết cuối: 27-07-2012, 12:59 PM
  3. Giới thiệu cách chuyển File Ảnh thành file Video trong download proshow gold
    Gửi bởi thuhu0900x trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 3
    Bài viết cuối: 03-07-2012, 03:54 AM
  4. Đọc dữ liệu file midi dạng số HEX và lấy lời nhạc trong file ra file text
    Gửi bởi kimngockhtn_2007 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 29-06-2011, 04:40 PM
  5. Trả lời: 17
    Bài viết cuối: 23-05-2011, 11:47 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn