Dùng kết hợp mấy hàm GetModuleFileName[] và PathRemoveFileSpec[] như code bên dưới nhé.
#include
#include
#include
std::string GetCurrentExeDir[]
{
HMODULE hModule = GetModuleHandle[NULL];
CHAR path[MAX_PATH];
GetModuleFileName[hModule, path, MAX_PATH];
PathRemoveFileSpec[path];
return std::string[path];
}
Trong bài viết này mình xin được trình bày với các bạn cách nhập xuất file rất cơ bản khi làm việc với file trong C++
Khi sử dụng file ta cần phải khai báo thư viện fstream với cú pháp: #include
Khi xử lí file trong C++ ta có 3 class là:
ifstream
là class để đọc dữ liệu đầu vào từ fileVí dụ khai báo một biến kiểu ifstream để đọc dữ liệu từ một file có tên là input.txt: ifstream ip["input.txt"];
ofstream
là class để ghi dữ liệu vào [o viết tắt của out, f viết tắt của file]- Ví dụ khai báo một biến ofstream để mở file: ofstream op;
fstream
là class để đọc hoặc ghi dữ liệu- Ta có thể thay thế 2 từ khóa trên bằng từ khóa fstream
Đọc ghi file thường có các chế độ [mode] định dạng đi kèm như sau:
ios::in
dùng để Mở cho các hoạt động đầu vào. [mode mặc định của ifstream]
ios::out
dùng để
mở cho các hoạt động đầu ra. [mode mặc định của ofstream]
ios::binary
dùng để mở file nhị phân.
ios::ate
là đặt vị trí con trỏ ở cuối file khi chúng ta mở file.
ios::app
là khi file đã có sẵn data thì dữ liệu sẽ được thêm vào cuối file.
ios::trunc
là khi ta chèn dữ liệu vào file, thì csc dữ liệu cũ sẽ bị xóa hết.
Để ghi dữ liệu vào file ta dùng cú pháp: nameFilevalue;
Để mở file bất kì ta dùng hàm open["nameFile", mode];
[khi dùng
devC mode có thể có hoặc không nhưng trong visual thì phải bắt buộc có]
Ví dụ nhập xuất file cơ bản:
#include
#include
using namespace std;
int main[]
{
ifstream input["C:\\Users\\minhh\\OneDrive\\Desktop\\input.txt"];
fstream output;
output.open["C:\\Users\\minhh\\OneDrive\\Desktop\\output.txt", ios::out ];
string str;
input>>str; // lấy giá trị biến str từ file input
cout