Hiện nay kỹ thuật lấy dữ liệu từ file txt trong C++ được ứng dụng rộng rãi và trở thành một kỹ thuật quan trọng không thể thiếu ở trong các ứng dụng lập trình ở môi trường console đến môi trường windows. Vì vậy việc người dùng nắm vững các kỹ thuật lấy dữ liệu từ file bằng ngôn ngữ lập trình C++ rất cần thiết.
Một số kiến thức về đọc ghi dữ liệu ở trong lập trình C++
Ghi dữ liệu file ở trong c++
Thực hiện kiểm tra sự tồn tại của 1 file
Để có thể kiểm tra được sự tồn tại của một file thì đầu tiên người dùng cần phải biết được tên của file. Sau đó tiến hành sử dụng đường dẫn tương đối nếu chỉ ở trong folder chứa file source của project còn với file ở bất cứ chỗ nào thì người dùng sẽ tiến hành sử dụng đường dẫn tuyệt đối. Ở trong tên của file thì sẽ không phân biệt chữ cái thường hay hoa và người dùng nên sử dụng loại fstream của thư viện tiêu chuẩn SLT.
Ghi data vào 1 file
Ở trong các trường hợp nếu như chưa có file thì người dùng cần thực hiện tạo file còn nếu như đã có file thì hãy xóa tất cả nội dung và ghi tiếp nối các nội dung vào. Tại đây bạn nên sử dụng thêm ios::app sau ios::out và dataFile.open.
Đọc File ở trong c++
Đọc file bằng cách sử dụng hàm getline
Khi người dùng đọc file sử dụng hàm getline thì sẽ chỉ phân biệt được ký tự n hoặc 1 ký tự đã được quy định ở trước đó và ở đây sẽ không đọc ký tự n mà chỉ có thể đọc được các chuỗi.
Ưu điểm nổi bật của đọc file sử dụng hàm getline là sẽ đọc được cả space, tab… tuy nhiên nhược điểm sẽ là không xác định được số ký tự của từng chuỗi đọc để thực hiện cấp phát động cho hợp lý.
Đọc file bằng cách sử dụng hàm get
Đối với hàm get thì sẽ thực hiện đọc từng ký tự ở trong file cho dù bất kỳ một ký tự nào. Vì vậy mỗi khi đọc được 1 ký tự thì người dùng cần thực hiện lưu vào một phần tử của mảng ký tự hay chuỗi các ký tự.
Hàm file_data.eof() nếu như sử dụng đi kèm với hàm get(ch) thì sẽ tiến hành chạy từng ký tự một cho đến khi gặp ký tự kết thúc xâu thì mới dừng lại. Còn nếu như sử dụng đi với hàm getline thì sẽ không chạy từng xâu ký tự một mà sẽ tiến hành chạy từng line đến line cuối cùng thì lúc này mới dừng lại.
Nhược điểm của đọc file sử dụng hàm get là vẫn chưa có thể xác định được kích thước cụ thể data cần lấy ra để thực hiện cấp phát động cho vùng nhớ.
Đọc dữ liệu từ file bằng cách sử dụng toán tử
Đối với cách này thì sẽ vẫn sử dụng fstream như thông thường. Tuy nhiên người dùng cần chú ý rằng chỉ thực hiện đọc dữ liệu ở chuỗi có trong file chứ không đọc các ký tự như là space, \n, tab.
Input là một mảng vì vậy ở mỗi lần đọc input sẽ nhận chuỗi đọc ra và sau đó sẽ bị chuỗi kế tiếp thay thế.
Hạn chế của đọc dữ liệu từ file bằng cách sử dụng toán tử là sẽ chỉ có thể đọc được chuỗi bít liên tục hoặc đọc được những chuỗi bít cách nhau bởi các ký tự. Và người dùng cũng rất khó trong việc có thể xác định kích thước của chuối bít được lấy ra sẽ là bao nhiêu để thực hiện cấp phát vùng nhớ cho phù hợp.
Trên đây là một số chia sẻ về kỹ thuật lấy dữ liệu từ file txt trong C++ đơn giản, nhanh chóng và hiệu quả. Hy vọng rằng với bài viết bạn có thể có thêm được các kiến thức mới. Chúc các bạn thành công!