Trang 1 trên tổng số 4 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 40 kết quả

Đề tài: Lập trình C | Các hàm input, output trong thư viện chuẩn

  1. #1
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Thumbs down Lập trình C | Các hàm input, output trong thư viện chuẩn

    Các hàm chuẩn về In/Out trong C. Liệt kê các hàm chuẩn về input/output trong C kèm theo ví dụ.
    None!

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

    Mặc định Hàm clearerr - Xoá tín hiệu lỗi gây ra bởi hệ thống khi thao tác trên tập tin gặp lỗi

    Hàm clearerr

    Khai báo :
    void clearerr(FILE *stream);
    Xoá tín hiệu lỗi gây ra bởi hệ thống khi thao tác trên tập tin gặp lỗi .

    Example

    C Code:
    1. #include <stdio.h>
    2.  
    3. int main(void)
    4. {
    5.    FILE *fp;
    6.    char ch;
    7.  
    8.    /* mo tep tin de ghi */
    9.    fp = fopen("DUMMY.FIL", "w");
    10.  
    11.    /*gay nen mot loi bang cach doc file*/
    12.    ch = fgetc(fp);
    13.    printf("%c\n",ch);
    14.  
    15.    if (ferror(fp))
    16.    {
    17.       /* xuat ra man hinh thong bao loi */
    18.       printf("Error reading from DUMMY.FIL\n");
    19.  
    20.       /* xoa tin hieu loi */
    21.       clearerr(fp);
    22.    }
    23.  
    24.    fclose(fp);
    25.    return 0;
    26. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:38 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Mặc định Hàm fclose - Đóng tệp lại sau khi thao tác

    Hàm fclose

    Khai báo :
    int fclose(FILE *stream);
    Đóng tệp lại sau khi thao tác , stream là tên con trỏ tệp . Khi thành công hàm trả về 0 , trái lại trả về EOF ( hằng chỉ thị kết thúc tệp )

    Example

    C Code:
    1. #include <string.h>
    2. #include <stdio.h>
    3.  
    4. int main(void)
    5. {
    6.    FILE *fp;
    7.    char buf[11] = "0123456789";
    8.  
    9.  
    10.    fp = fopen("DUMMY.FIL", "w");
    11.    fwrite(&buf, strlen(buf), 1, fp);
    12.  
    13.    /* dong tep */
    14.    fclose(fp);
    15.    return 0;
    16. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:39 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

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

    Mặc định Hàm feof - Hàm dùng để kiểm tra con trỏ tệp có đến cuối tệp hay chưa

    Hàm feof

    Khai báo :
    int feof(FILE *stream);
    Hàm dùng để kiểm tra con trỏ tệp có đến cuối tệp hay chưa . Nếu nó đến cuối tệp thì hàm trả về giá trị khác 0 , ngược lại trả về 0 .

    Example

    C Code:
    1. #include <stdio.h>
    2.  
    3. int main(void)
    4. {
    5.    FILE *stream;
    6.  
    7.    /* mo mot tep de doc */
    8.    stream = fopen("DUMMY.FIL", "r");
    9.  
    10.    /* doc mot ky tu tu tep */
    11.    fgetc(stream);
    12.  
    13.    /*kiem tra xem cuoi tep hay chua */
    14.    if (feof(stream))
    15.       printf("We have reached end-of-file\n");
    16.  
    17.    /* dong tep*/
    18.    fclose(stream);
    19.    return 0;
    20. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:40 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

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

    Mặc định Hàm ferror - Kiểm tra lỗi thao tác trên tệp

    Hàm ferror

    Khai báo :
    int ferror(FILE *stream);
    Kiểm tra lỗi thao tác trên tệp . Hàm trả về giá trị khác 0 nếu có lỗi , ngược lại trả về 0 .

    Example :


    C Code:
    1. #include <stdio.h>
    2.  
    3. int main(void)
    4. {
    5.    FILE *stream;
    6.  
    7.    /* mo tep de ghi */
    8.    stream = fopen("DUMMY.FIL", "w");
    9.  
    10.    /* gay ra mot loi bang cach doc*/
    11.    (void) getc(stream);
    12.  
    13.    if (ferror(stream))  /* kiem tra loi tren tep*/
    14.    {
    15.       /* ghi loi ra man hinh*/
    16.       printf("Error reading from DUMMY.FIL\n");
    17.  
    18.       /* xoa tin hieu loi*/
    19.       clearerr(stream);
    20.    }
    21.  
    22.    fclose(stream);
    23.    return 0;
    24. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:40 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

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

    Mặc định Hàm fflush - Hàm dùng làm sạch vùng đệm của tệp

    Hàm fflush

    Khai báo :
    int fflush(FILE *stream);
    Hàm dùng làm sạch vùng đệm của tệp . Nếu thành công hàm cho giá trị 0 , trái lại hàm trả về EOF .

    Example
    C Code:
    1. #include <string.h>
    2. #include <stdio.h>
    3. #include <conio.h>
    4. #include <io.h>
    5.  
    6. void flush(FILE *stream);
    7.  
    8. int main(void)
    9. {
    10.    FILE *stream;
    11.    char msg[] = "This is a test";
    12.  
    13.    /* tao 1 tep */
    14.    stream = fopen("DUMMY.FIL", "w");
    15.  
    16.    /*ghi mot vai du lieu len tep */
    17.    fwrite(msg, strlen(msg), 1, stream);
    18.  
    19.    clrscr();
    20.    printf("Press any key to flush DUMMY.FIL:");
    21.    getch();
    22.  
    23.    flush(stream);
    24.  
    25.    printf("\nFile was flushed, Press any key to quit:");
    26.    getch();
    27.    return 0;
    28. }
    29.  
    30. void flush(FILE *stream)
    31. {
    32.      int duphandle;
    33.  
    34.      /* lam sach vung dem */
    35.      fflush(stream);
    36.      
    37.      duphandle = dup(fileno(stream));
    38.      
    39.      close(duphandle);
    40. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:41 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

  7. #7
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Mặc định Hàm fgetc - Hàm dùng lấy 1 ký tự từ tệp do con trỏ tệp stream trỏ đến

    Hàm fgetc

    Khai báo :
    int fgetc(FILE *stream);
    Hàm dùng lấy 1 ký tự từ tệp do con trỏ tệp stream trỏ đến . Nếu thành công hàm trả về mã ASCII của ký tự đọc được . Nếu gặp lỗi hay gặp kết thúc tệp thì hàm trả về EOF .

    Example

    C Code:
    1. #include <string.h>
    2. #include <stdio.h>
    3. #include <conio.h>
    4.  
    5. int main(void)
    6. {
    7.    FILE *stream;
    8.    char string[] = "This is a test";
    9.    char ch;
    10.  
    11.    /* mo tep de ghi va doc */
    12.    stream = fopen("DUMMY.FIL", "w+");
    13.  
    14.    /* ghi len tep mot chuoi */
    15.    fwrite(string, strlen(string), 1, stream);
    16.  
    17.    /* dat con tro tep len dau tep */
    18.    fseek(stream, 0, SEEK_SET);
    19.  
    20.    do
    21.    {
    22.       /* doc mot ky tu tu tep */
    23.       ch = fgetc(stream);
    24.  
    25.       /* in ra man hinh ky tu doc duoc */
    26.       putch(ch);
    27.    } while (ch != EOF);
    28.  
    29.    fclose(stream);
    30.    return 0;
    31. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:42 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

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

    Mặc định Hàm fgetpos - Hàm dùng lấy vị trí con trỏ tệp

    Hàm fgetpos

    Khai báo :
    int fgetpos( FILE *stream,fpos_t *pos )
    Hàm dùng lấy vị trí con trỏ tệp ( ở byte thứ mấy ) lưu vào trong biến pos . Nếu thành công hàm trả về 0 , ngược lại hàm trả về giá trị khác 0 .

    Example

    C Code:
    1. #include <stdlib.h>
    2. #include <stdio.h>
    3.  
    4. void showpos(FILE *stream);
    5.  
    6. int main(void)
    7. {
    8.    FILE *stream;
    9.    fpos_t filepos;
    10.  
    11.    /* mo file de doc ghi */
    12.    stream = fopen("DUMMY.FIL", "w+");
    13.  
    14.    /* luu lai vi tri con tro tep hien thoi */
    15.    fgetpos(stream, &filepos);
    16.  
    17.    /* ghi du lieu len tep */
    18.    fprintf(stream, "This is a test");
    19.  
    20.    /* in ra man hinh vi tri con tro hien thoi */
    21.    showpos(stream);
    22.  
    23.    /* dat lai vi tri con tro tep */
    24.    if (fsetpos(stream, &filepos) == 0)
    25.      showpos(stream);
    26.    else
    27.    {
    28.       fprintf(stderr, "Error setting file pointer.\n");
    29.       exit(1);
    30.    }
    31.  
    32.    /* dong tep*/
    33.    fclose(stream);
    34.    return 0;
    35. }
    36.  
    37. void showpos(FILE *stream)
    38. {
    39.    fpos_t pos;
    40.  
    41.    /* in ra man hinh vi tri con tro tep hien thoi */
    42.    fgetpos(stream, &pos);
    43.    printf("File position: %ld\n", pos);
    44. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:44 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

  9. #9
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Mặc định Hàm fgets - Hàm để đọc một chuỗi ký tự từ file

    Hàm fgetsk

    Khai báo :
    char *fgets(char *s,int n,FILE *fp);
    Hàm dùng để đọc một chuỗi ý tự dài n-1 ký tự từ tệp fp vào chuỗi s . Việc đọc kết thúc khi đã đọc đủ n-1 ký tự hay gặp dấu xuống dòng hay gặp kết thúc tệp . Sau khi đọc , chuỗi s sẽ được tự động thêm vào ký tự NULL vào cuối chuỗi . Hàm trả về điạ chỉ chuỗi s nếu thành công , trái lại trả về NULL .

    Example

    C Code:
    1. #include <string.h>
    2. #include <stdio.h>
    3.  
    4. int main(void)
    5. {
    6.    FILE *stream;
    7.    char string[] = "This is a test";
    8.    char msg[20];
    9.  
    10.    /* mo tep de doc ghi */
    11.    stream = fopen("DUMMY.FIL", "w+");
    12.  
    13.    /* ghi mot chuoi vao tep */
    14.    fwrite(string, strlen(string), 1, stream);
    15.  
    16.    /* dat con tro tep len dau tep */
    17.    fseek(stream, 0, SEEK_SET);
    18.  
    19.    /* doc mot chuoi tu tep */
    20.    fgets(msg, strlen(string)+1, stream);
    21.  
    22.    /* in chuoi ra man hinh */
    23.    printf("%s", msg);
    24.  
    25.    fclose(stream);
    26.    return 0;
    27. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:44 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

  10. #10
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Mặc định Hàm fopen - Hàm dùng để mở tệp

    Hàm fopen

    Khai báo :
    FILE *fopen(char *filename,char *type );
    Hàm dùng để mở tệp . Với filename là chuỗi chứa tên tệp cần mở ( bao gồm cả đường dẫn cụ thể ) . Lưu ý một chút với filename này . Nếu bạn nhập chuỗi từ bàn phím thì khác với bạn đánh sẵn nó trong code của bạn . Ví dụ tệp ta cần mở tên là abc.jpg nằm ở ổ C . Đối với đánh tên tệp từ bàn phím thì ta đánh như sau : C:\abc.jpg . Nhưng nếu ta soạn sẵn trong code thì ta soạn như sau : C:\\abc.jpg ( tức là thêm 1 gạch \ ) .
    Kiểu mở tệp có rất nhiều cách nhưng chung quy ta có các trường hợp sau cho kiểu văn bản :
    "r" : đọc
    "w" : ghi
    "r+" hay "w+" : đọc và ghi
    "a" : ghi bổ sung
    "a+" : đọc ghi bổ sung
    Đối với mở file nhị phân bạn chỉ cần thêm chữ b vào sau các chuỗi trên .
    Nếu việc mở tệp thành công hàm cho địa chỉ con trỏ tệp , trái lại hàm trả về NULL .

    Example


    C Code:
    1. #include <stdio.h>
    2.  
    3. int main(void)
    4. {
    5.    FILE *in, *out;
    6.  
    7.    if ((in = fopen("\\AUTOEXEC.BAT", "r"))
    8.        == NULL)
    9.    {
    10.       fprintf(stderr, "Cannot open input file.\n");
    11.       return 1;
    12.    }
    13.  
    14.    if ((out = fopen("\\AUTOEXEC.BAK", "w"))
    15.        == NULL)
    16.    {
    17.       fprintf(stderr, "Cannot open output file.\n");
    18.       return 1;
    19.    }
    20.  
    21.    while (!feof(in))
    22.       fputc(fgetc(in), out);
    23.  
    24.    fclose(in);
    25.    fclose(out);
    26.    return 0;
    27. }
    Đã được chỉnh sửa lần cuối bởi kitti : 24-02-2011 lúc 09:45 PM. Lý do: chỉnh lại tiêu đề cho dễ nhận biết

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

  1. Thủ thuật C++ Cơ bản về input và output trong C++
    Gửi bởi luc13aka47 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 17
    Bài viết cuối: 14-01-2013, 07:33 PM
  2. Prolem: Input: Số dạng string, Output: tổng và tích
    Gửi bởi dongsihoanglan trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 01-05-2011, 01:36 PM
  3. Đọc văn bản tiếng Việt thành lời trong lập trình C# (Input Text --> Output audio)?
    Gửi bởi PC1989 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 02-03-2011, 10:55 AM
  4. Bài 3: Chapter 2 Input/Output
    Gửi bởi snake_programmer trong diễn đàn English for IT | Tiếng anh cho dân CNTT
    Trả lời: 6
    Bài viết cuối: 11-01-2011, 09:34 PM
  5. run *.exe với file input và output như thế nào
    Gửi bởi vrael88 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 07-10-2010, 12:55 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