Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Hỏi về tập tin

  1. #1
    Ngày gia nhập
    08 2008
    Bài viết
    1

    Mặc định Hỏi về tập tin

    1 vd như thế này:
    PHP Code:
    int i;
    FILE *f1;
    f1=fopen("vd.txt","rb");
    do{
           
    fread(&isizeof(int), 1f1); //dòng này ko hiểu
           
    if(!feof(f1))
                 
    printf("\n%d",i);
         }
    while(!
    feof(f1)); 
    em ko hiểu i và số 1 là cái gì ?

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

    Trích dẫn Nguyên bản được gửi bởi goroshi Xem bài viết
    1 vd như thế này:
    PHP Code:
    int i;
    FILE *f1;
    f1=fopen("vd.txt","rb");
    do{
           
    fread(&isizeof(int), 1f1); //dòng này ko hiểu
           
    if(!feof(f1))
                 
    printf("\n%d",i);
         }
    while(!
    feof(f1)); 
    em ko hiểu i và số 1 là cái gì ?
    Cái này làm lâu rồi, cũng quên rồi, song cậu có thể tham khảo ở đây
    http://www.cplusplus.com/reference/c...dio/fread.html
    Time

  3. #3
    Ngày gia nhập
    08 2008
    Bài viết
    1

    Em vẫn ko hiểu rõ (cũng là do trình độ tiếng anh của em còn kém)

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

    Trích dẫn Nguyên bản được gửi bởi goroshi Xem bài viết
    Em vẫn ko hiểu rõ (cũng là do trình độ tiếng anh của em còn kém)
    cậu cứ hình dung nó là để ghi 1 số nguyên vào file f1 của cậu thôi mà
    Time

  5. #5
    Ngày gia nhập
    08 2008
    Bài viết
    1

    Em làm 1 bài thế này: copi tất cả kí tự của tập vd1 sang tập vd 2 ( em đã có tập vd1 trước đó rồi)
    PHP Code:
    #include<stdio.h>
    main()
    {
        
    FILE *f1,*f2;
        
    char filename1[30];
        
    char filename2[30];
        
    int i;
        
    printf("ten tap nguon\n");
        
    scanf("%s",filename1);
        
    f1=fopen(filename1,"rb");
        
    printf("ten tap dich\n");
        
    scanf("%s",filename2);
        
    f2=fopen(filename2,"wb");
        while(
    fread(&i,sizeof(int),1,f1),!feof(f1))
        
    fwrite(&i,sizeof(int),1,f2);
        
    fclose(f1);
        
    fclose(f2);

    Sao nó ko hoạt động nhỉ? Mọi người chỉ hộ lỗi với

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

    Mặc định Hỏi về tập tin

    Cái này chạy tốt mà bạn:
    mình test qua rồi nó chạy ok.
    tên file nguồn: C:\\aaa.dat nội dung là:
    PHP Code:
    1 2 3 4 5 6 7 8 9
    1 2 3 4 5 6 7 7 7 
    tên file đích: C:\\bbb.dat nội dung là:
    PHP Code:
    1 2 3 4 5 6 7 8 9
    1 2 3 4 5 6 7 7 7 

  7. #7
    Ngày gia nhập
    08 2008
    Bài viết
    1

    Tiện thể em hỏi luôn cái này, em có 1 chuơng trình in mã của từng kí tự:
    PHP Code:
    #include<stdio.h>
    main()
    {
        
    int c;
        
    char ten[14];
        
    FILE *fp;
        
    printf("Ten tep:\n");
        
    gets(ten);
        
    fp=fopen(ten,"rb");
        if(
    fp=NULL)
        {
            
    printf("xay ra loi, ko mo duoc tep\n");
            
    getch();
        }
        
    clrscr();
        while((
    c=fgetc(fp))!=EOF)
        {
            
    printf("%d",c);
            if(
    c<32)c=46;//không hiểu cái này?
            
    printf("%c\n",c);
        }

    Hơn nữa code là đúng tại sao em khi dịch nó lại báo lỗi.
    Với lại ai giải thích hộ em cái dòng em không hiểu ở trên với
    Đã được chỉnh sửa lần cuối bởi goroshi : 23-08-2008 lúc 10:35 AM.

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

    Câu lệnh if(fp=NULL) của bạn phải sửa thành if(fp==NULL). Còn chỗ bạn không hiểu thì bạn xem lại bảng mã Ascii sẽ rõ. Mã ASCII từ 1->32 đều là các ký tự điều khiển và không in được ra màn hình còn mã ASCII của 46 chính là dấu chấm. Như vậy câu lệnh đó có nghĩa: khi đọc 1 ký tự trong tệp, nếu gặp các ký tự điều khiển thì thay bằng dấu chấm.

  9. #9
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Code:
    #include<stdio.h>
    main()
    {
        FILE *f1,*f2;
        char filename1[30];
        char filename2[30];
        int i;
        printf("ten tap nguon\n");
        scanf("%s",filename1);
        f1=fopen(filename1,"rb");
        printf("ten tap dich\n");
        scanf("%s",filename2);
        f2=fopen(filename2,"wb");
        while(fread(&i,sizeof(int),1,f1),!feof(f1))
        fwrite(&i,sizeof(int),1,f2);
        fclose(f1);
        fclose(f2);
    }
    Trường hợp thử như sau không chính xác:
    a.txt
    Code:
    1 2 3 4 44 55 444 6
    222 33 44 55 6554
    b.txt
    Code:
    1 2 3 4 44 55 444 6
    222 33 44 55 65
    Mình chưa tìm ra cách sửa

  10. #10
    Ngày gia nhập
    08 2008
    Bài viết
    1

    Em mới tìm được 1 bài về tệp nhưng vẫn chưa nghĩ nổi cách làm: Làm sao để in 1 dòng đầu tiên của 1 tệp( sau đó mở rộng lên n dòng của tệp )

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