VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test
C Cơ Bản Chuỗi (String) Trong C

File I/O Trong C

Xử Lý File Trong C Hàm fscanf và fprintf() Hàm fgetc và fputc() Hàm fgets() và fputs() Hàm fseek() trong C Hàm rewind() trong C Hàm ftell() trong C
Bài Tập C Có Lời Giải

Bài tập File I/O trong C

Nhập ma trận từ file trong C

Bài Học Bổ Sung

Enumeration (enum) trong C Preprocessors trong C Bảng ASCII

Hàm fscanf và fprintf() - Đọc và ghi file trong C


File I/O trong C - Các hàm xử lý File trong C
Hàm fgetc() và fputc() - Đọc và ghi một ký tự vào file

Nội dung chính

  • Hàm fprintf() - Ghi file
  • Hàm fscanf() - Đọc file
  • Ví dụ file trong C - Lưu trữ thông tin nhân viên

Hàm fprintf() - Ghi file

Hàm fprintf() trong C được sử dụng để ghi các ký tự vào file. Nó gửi dữ liệu được định dạng tới một stream.

Cú pháp:


int fprintf(FILE *stream, const char *format [, argument, ...])

Ví dụ:


#include <stdio.h>

main() {
   FILE *fp;
   // mo file
   fp = fopen("file.txt", "w");
   // ghi du lieu vao file
   fprintf(fp, "Hello C, su dung fprintf()...\n");
   // dong file
   fclose(fp);
}


Hàm fscanf() - Đọc file

Hàm fscanf () được sử dụng để đọc tập hợp các ký tự từ file. Nó đọc một từ trong file và trả về EOF ở vị trí kết thúc file.

Cú pháp:


int fscanf(FILE *stream, const char *format [, argument, ...])

Ví dụ 1:


#include <stdio.h>

main() {  
   FILE *fp;
   char buff[255];
   fp = fopen("file.txt", "r");
   while (fscanf(fp, "%s", buff) != EOF) {
      printf("%s ", buff);
   }
   fclose(fp);
}

Kết quả:

Hello C, su dung fprintf()...

Ví dụ 2: đọc thông tin sinh viên:

Giả sử chúng ta có file sinhvien.txt có nội dung như sau:

Name: Vinh		ID: 1		Marks: 7.5
Name: Phuc		ID: 3		Marks: 9.0
Name: Phi		ID: 2		Marks: 10
Name: Manh		ID: 4		Marks: 9.5
Name: Thang		ID: 5		Marks: 8.0

Nội dung trên khi mở bằng notepad++ trông như sau, mũi tên màu đỏ thể hiện dấu tab (\t):

Hàm fscanf và fprintf() - Đọc và ghi file trong C

Sau đây là chương trình đọc file sinhvien.txt:


#include<stdio.h>

int main() {
    FILE *fp;
    char name[50];
    int id;
    float marks;
 
    fp = fopen("sinhvien.txt", "r");
 
    if(fp == NULL) {
        printf("Error opening file\n");
        exit(1);
    }
 
    printf("Vi du su dung ham fscanf(): \n\n");
    printf("Name:\t\tID\t\tMarks\n");
    
    // doc thong tin sinh vien
    while( fscanf(fp, "Name: %s\t\tID: %d\t\tMarks: %f\n"
                    , name, &id, &marks) != EOF )
    {
        printf("%s\t\t%d\t\t%.2f\n", name, id ,marks);
    }
 
    fclose(fp);
    return 0;
}

Chạy chương trình C trên cho kết quả như sau:

Hàm fscanf và fprintf() - Đọc và ghi file trong C

Ví dụ file trong C - Lưu trữ thông tin nhân viên

Dưới đây là một ví dụ xử lý tệp để lưu trữ thông tin sinh viên khi người dùng nhập từ console. Chúng ta sẽ lưu trữ id, name và salary của nhân viên.


#include <stdio.h>

void main() {  
    FILE *fptr;
    int id;
    char name[30];
    int salary;
    
    fptr = fopen("emp.txt", "w+");
    
    if (fptr == NULL) {
        printf("File khong ton tai.\n");
        return;
    }
    
    printf("Nhap id: ");
    scanf("%d", &id);
    fprintf(fptr, "Id = %d\n", id);
    printf("Nhap name: ");
    scanf("%s", name);
    fprintf(fptr, "Name = %s\n", name);
    printf("Nhap salary: ");
    scanf("%f", &salary);
    fprintf(fptr, "Salary = %.2f\n", salary);
    
    fclose(fptr);
}

Kết quả:

Nhap id: 1001
Nhap name: David
Nhap salary: 12000

File: emp.txt

Id = 1001
Name = David
Salary = 12000.00

File I/O trong C - Các hàm xử lý File trong C
Hàm fgetc() và fputc() - Đọc và ghi một ký tự vào file

Recent Updates

Xử lý duplicate trong SQLPhím tắt hay dùng trong ExcelBảo mật tập tin ExcelDịch trang tính trong ExcelIn trang tính trong ExcelHàm VLOOKUP trong ExcelĐối tượng đồ họa trong ExcelSử dụng macro trong ExcelSử dụng Templates trong ExcelSử dụng chủ đề (theme) trong ExcelSử dụng Style trong ExcelXác thực dữ liệu (Data Validation) trong Excel

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml