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

Đề tài: Mã nguồn C | Các thao tác trên File trong lập trình C

  1. #1
    Ngày gia nhập
    10 2006
    Nơi ở
    Hà Nội
    Bài viết
    146

    Mặc định Mã nguồn C | Các thao tác trên File trong lập trình C

    Code:
    C Code:
    1. #include <conio.h>
    2. #include <stdlib.h>
    3. #include <stdio.h>
    4. #include <ctype.h>
    5. #include<io.h>
    6. #include<dos.h>
    7. #define true 1
    8. #define false 0
    9. #define sz (sizeof(float))
    10. char *TenTep;
    11. //---------------------------
    12. void CreateFile(char *TenTep);//Tao tep nhi phan chua cac so thuc
    13. void ViewFile(char *TenTep);//Cho hien danh sach cac so thuc trong tep
    14. int FileNodes(char *TenTep);//Tra ve so phan tu tren tep
    15. int EoF(FILE *f);//Tra ve gia tri true neu cuoi tep, false neu chua cuoi tep
    16. //int EoR(FILE *f);//Tra ve gia tri true neu cuoi run, false neu chua cuoi run
    17. //---------------------------
    18. //Tao file co n phan tu
    19. void CreateFile(char *TenTep)
    20.  {int i,m;float x;
    21.  FILE* f;
    22.  f = fopen(TenTep,"wb");
    23.  rewind(f);
    24.    if(f==NULL) {printf("\nKhong the mo file!");return;}
    25.    else {
    26.  printf("\nCho biet so phan tu can dua vao tep: ");
    27.  scanf("%d",&m);
    28.     printf("\nHay nhap %d so: ",m);
    29.     for(i=0;i<m;i++)
    30.      {scanf("%f",&x);
    31.       fwrite(&x,sz,1,f);
    32.      }
    33.           }
    34. fclose(f);
    35.  };
    36. //---------------------------
    37. //Hien thi noi dung file len man hinh
    38. //====================================
    39. void ViewFile(char *TenTep)
    40.  {float x;
    41.  char newname[8];
    42.  FILE* f;
    43.  f = fopen(TenTep,"rb");
    44.  rewind(f);
    45.  if(f==NULL) {printf("\nKhong the mo file!");return;}
    46.  else {
    47.  printf("\nCac phan tu tren tep '%s':\n\n",TenTep);
    48.  while(fread(&x,sz,1,f)>0) printf("%5.0f",x);
    49.  }
    50.  fclose(f);
    51.  };
    52. //---------------------------
    53. /*//Hien thi noi dung file len man hinh
    54. /////////////////////////////////////////////////////////
    55. void ViewRun(char *TenTep)
    56.  {float x;int i;
    57.  FILE* f;
    58.  f = fopen(TenTep,"rb");
    59.  if(f==NULL) printf("\nKhong mo duoc tep!");
    60.  else {
    61.  rewind(f);
    62.  i=1;
    63.  printf("\n\nCac run tren tep %s:\n",TenTep);
    64.  while(1)
    65.   {printf("\n%3d: ",i);
    66.     while(1)
    67.      {if(fread(&x,sz,1,f)>0) printf("%5.0f",x);
    68.       if (EoR(f)) {i++;break;}
    69.      }
    70.    if(EoF(f)) break;
    71.   }  }
    72.  fclose(f);
    73.  };*/
    74. //---------------------------
    75. int FileNodes(char *TenTep)
    76.  {int k;float x;
    77.   FILE *f = fopen(TenTep,"rb");
    78.   fseek(f,0,2);//Ve cuoi tep
    79.   k = ftell(f)/sz;
    80.   fclose(f);
    81.   return(k);
    82.  };
    83. //---------------------------
    84. int EoF(FILE *f)
    85.  {float x;
    86.   if(fread(&x,sz,1,f)>0)
    87.    {fseek(f,-1.0*sz,1);
    88.     return(false);
    89.    };
    90.   return(true);
    91.  }
    92. //---------------------------
    93. //===========================================================
    94. void DoiTen(char *tep)
    95. {
    96.  
    97.     char newname[8];
    98.     printf("\nNhap ten moi:");
    99.     scanf("%s",&newname);
    100.     if(rename(tep,newname)==0)
    101.          {
    102.          printf("\n Doi ten thanh cong tu '%s' sang '%s'",tep,newname);
    103.          sprintf(tep, "%s", newname);
    104.          }
    105.     else
    106.           perror("rename");
    107. }
    108. //===========================================================
    109. //ham loai bo file
    110. void LoaiFile(char *tep)
    111. {
    112.     printf("\nBan dang thuc hien thao tac nguy hiem!");
    113.     if(remove(tep)==0) printf("\nXoa tep thanh cong!");
    114.     else perror("Khong xoa duoc tep");
    115. }
    116. //===========================================================
    117. void ChangePro(char *tep)
    118. {
    119.      if(_chmod(tep,1,FA_HIDDEN)==0) printf("\nThuoc tinh cua tep da duoc thay doi thanh tep an (Hidden)");
    120.      else perror("\nKhong the thay doi thuoc tinh");
    121. }
    122. //===================================================
    123. //Ma hoa file
    124. void Mahoa(char *TenTep)
    125.  {float x;
    126.  char newname[8];
    127.  FILE* f,f1;
    128.  f = fopen(TenTep,"rb");
    129.  rewind(f);
    130.  if(f==NULL) {printf("\nKhong the mo file!");return;}
    131.  else {
    132.  printf("\nCac phan tu tren tep sau khi ma hoa '%s':\n\n",TenTep);
    133.  while(fread(&x,sz,1,f)>0)      {
    134.                 x=x+5;
    135.                 printf("%5.0f",x);
    136.                 //fwrite(&x,sz,1,f1);
    137.                 }
    138. // while(fread(&x,sz,1,f1)>0) fwrite(&x,sz,1,f);
    139.  }
    140.  //fclose(f1);
    141.  fclose(f);
    142.  };
    143. //===================================================
    144. //giai ma file sau khi bi ma hoa
    145. void Giaima(char *TenTep)
    146.  {float x;
    147.  char newname[8];
    148.  FILE* f;
    149.  f = fopen(TenTep,"rb");
    150.  rewind(f);
    151.  if(f==NULL) {printf("\nKhong the mo file!");return;}
    152.  else {
    153.  printf("\nCac phan tu tren tep sau khi giai ma '%s':\n\n",TenTep);
    154.  while(fread(&x,sz,1,f)>0)      {
    155.                 x=x;
    156.                 printf("%5.0f",x);
    157.                 //fwrite(&x,sz,1,f);
    158.                 }
    159.  }
    160.  fclose(f);
    161.  };
    162. //===================================================
    163. void main()
    164.  {
    165.  char ch6, *tep, *ThongBao,newname[8];
    166.       int fg;
    167.       clrscr();
    168.     textmode(C80);
    169.        textcolor(YELLOW);
    170.        textbackground(BLUE);
    171.        window(1,1,80,25);
    172.  
    173.   while(1)
    174.    {clrscr();
    175.     printf("\n   Tap thao t*c tren File") ;
    176.     printf("\nÞÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÝ");
    177.     printf("\n\n Menu\nÈÍÍÍͼ");
    178.     printf("\n1. Tao tep");
    179.     printf("\n2. Xem tep");
    180.     printf("\n3. Doi ten tep");
    181.     printf("\n4. Loai bo tep");
    182.     printf("\n5. Thay doi thuoc tinh cua tep");
    183.     printf("\n6. Dem so phan tu trong tep");
    184.     printf("\n7. Ma hoa File");
    185.     printf("\n8. Giai ma File");
    186.     printf("\nz. Tro ve MENU chinh");
    187.     printf("\n\nHay chon chuc nang 1 -> z: ");
    188.     ch6=toupper(getchar());
    189.     if(ch6=='Z') break;
    190.     switch(ch6)
    191.      {
    192.  
    193.      case '1':
    194.             printf("\nNhap ten tep:");scanf("%s",tep);
    195.             CreateFile(tep);
    196.                 ThongBao="Tep da tao xong, nhan phim bat ky de tiep tuc";
    197.                 getch();
    198.                 break;
    199.       case '2':
    200.             ViewFile(tep);//printf("\n\nSo phan tu tren tep = %5d",FileNodes(tep));
    201.                 ThongBao="Xem xong nhan phim bat ky";
    202.                 getch();
    203.                 break;
    204.      case '3':
    205.             DoiTen(tep);
    206.             getch(); break;
    207.      case '4':
    208.             LoaiFile(tep);
    209.             getch();break;
    210.      case '5':
    211.             ChangePro(tep);
    212.             getch();break;
    213.      case '6':
    214.             printf("\nSo phan tu tren tep:=%5d",FileNodes(tep));
    215.             getch();break;
    216.      case '7':
    217.             ViewFile(tep);
    218.             Mahoa(tep);
    219.             fg=1;
    220.             getch();break;
    221.      case '8':
    222.             if(fg==1) {Giaima(tep);fg=0;}
    223.             else printf("\nChua co File ma hoa") ;
    224.             getch();break;
    225.      }
    226.      printf("\n\n%s",ThongBao);
    227.     }
    228.   }
    Đã được chỉnh sửa lần cuối bởi kitti : 27-10-2011 lúc 03:50 PM. Lý do: đưa code vào tag code

  2. #2
    Ngày gia nhập
    08 2006
    Bài viết
    59

    C Code:
    1. //Tao file co n phan tu
    2. void CreateFile(char *TenTep)
    3.  {int i,m;float x;
    4.  FILE* f;
    5.  f = fopen(TenTep,"wb");
    6.  rewind(f);
    7.  printf("\nCho biet so phan tu can dua vao tep: ");
    8.  scanf("%d",&m);
    9.     printf("\nHay nhap %d so: ",m);
    10.     for(i=0;i<m;i++)
    11.      {scanf("%f",&x);
    12.       fwrite(&x,sz,1,f);
    13.      }
    14.  fclose(f);
    15.  };

    => sau khi gọi fopen thì nên kiểm tra coi có mở được file hay khôn (như trong các hàm khác)

  3. #3
    Ngày gia nhập
    10 2006
    Nơi ở
    Hà Nội
    Bài viết
    146

    Cảm ơn!
    Đã sửa!
    Tớ nghĩ diễn đàn cần lập nhóm Tester để kiểm tra và test các chương trình do các thành viên post lên, để sửa lỗi và tìm thuật toán tối ưu cũng như vét cạn trường hợp.Như vậy là rất hữu ích.

  4. #4
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Tớ nghĩ diễn đàn cần lập nhóm Tester để kiểm tra và test các chương trình do các thành viên post lên, để sửa lỗi và tìm thuật toán tối ưu cũng như vét cạn trường hợp.Như vậy là rất hữu ích.
    Về chủ trương là có, nhưng mà bây giờ lập nhóm tester thì chắc chắn chưa hiệu quả đâu. Mọi người nghĩ sao?
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  5. #5
    Ngày gia nhập
    01 2007
    Bài viết
    4

    Viết C++ làm classes cho đẹp

  6. #6
    Ngày gia nhập
    01 2007
    Bài viết
    2

    Mặc định Mã nguồn C | Các thao tác trên File trong lập trình C

    Có bác nào biết giải thuật xem 2 file có là bản sao của nhau không?

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    Hà Nội
    Bài viết
    146

    Chắc là thực hiện đọc đồng thời và so sánh chuỗi từ 2 file cho tới khi hết cuối cả 2 file. Nếu có khác thì không đọc nữa và kết luận không phải. Còn nếu mà đồng nhất thì là phải.

  8. #8
    Ngày gia nhập
    05 2007
    Bài viết
    4

    Mình thấy trong dos có chương trình fcopy hay copy mà chuyền ngay tham số là tên files ở ngoài luôn làm sao mình có thể viết như vậy ??
    Như phần code ở trên có thể đổi tên hay so sánh tên vậy mình copy thế nào để từ tên của files này cho tên file khác ngay câu lệnh trên dos đại loại kiểu

    c:\thaotactrenfile doiten oldfile.txt newfile.txt

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

  1. Làm thế nào để sử dụng biến toàn cục qua nhiều file mã nguồn ?
    Gửi bởi ptolemy trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 26-12-2012, 08:36 PM
  2. Bài tập C Thao tác trên file , vec tơ nhị phân trong lập trình C
    Gửi bởi little_b0y89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 11-11-2010, 08:23 PM
  3. Làm thế nào buil mã nguồn của Wippien trên VC++?
    Gửi bởi thachphongphong trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 09-06-2009, 09:58 AM
  4. Các thao tác trên file dành cho newbie trong lập trình C++
    Gửi bởi rox_rook trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 18
    Bài viết cuối: 05-11-2008, 10:43 AM
  5. Thao tác trên File trong lập trình C++?
    Gửi bởi vhp_tt_89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 16-10-2008, 05:39 PM

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