30/09/2018, 17:24

Hổ trợ về đường dẫn tương đối trong lập trình C/C++

Mình gặp rắc rối về đường dẫn tương đối khi đọc ghi file trong C/C++.

Trong các clip hướng dẫn các Thầy toàn dùng đường dẫn tuyệt đối, ví dụ: “C:/input.txt”. Nếu dùng đường dẫn này khi mang project chép sang máy khác sẽ không chạy được do không đúng đường dẫn.

Vấn đề mình phải đổi sang đường dẫn tương đối như thế nào?

Ví dụ file input.txt và file source của chương trình đặt cùng thư mục như sau:

  • file input.txt: D:/LTDT/DocGhiFile/input.txt
  • file chuong trình: D:/LTDT/DocGhiFile/Program.cs

Hàm : NhapMangTuFile(“D:/LTDT/DocGhiFile/input.txt”); thì chạy được nhưng giờ muốn dùng đường dẫn tương đối thì không biết như thế nào.

Mong mọi người giúp đỡ. Xin cảm ơn.

*grab popcorn* viết 19:40 ngày 30/09/2018

Cái file txt mà cùng thư mục với file chương trình thì khỏi cần đường dẫn. Ghi thẳng tên file ra luôn

Trần Toàn viết 19:26 ngày 30/09/2018

Lưu cùng với file chương trình đc

NBQ viết 19:33 ngày 30/09/2018

Bạn có thể tạo đường dẫn tương đối như sau:
Ví dụ ở đây mình muốn tạo file employees.dat bằng đường dẫn tương đối thì mình tạo một thư mục có tên HR trong cùng thư mục chứa source code và sau đó dùng lệnh như sau : FILE* fp = fopen(“HR\\employees.dat”, “wt”);
Kết quả sẽ thao tác với file sẽ nằm trong thư mục HR.
Nhưng hơi lạ là sao bạn hỏi xử lý file trong C/C++ mà file chương trình của bạn lại có đuôi .cs nhỉ. (Đấy là định dạng của source code C# mà)

Lâm Quang Minh viết 19:31 ngày 30/09/2018

Cách tốt nhất là get working directory , xong rồi từ đó thêm bớt cho nó tới cái đường dẫn tới file …

Trương Thái viết 19:28 ngày 30/09/2018

Sao ai cũng bảo file txt cùng thư mục với file chương trình thì không cần đường dẫn nhưng mình dùng Visual studio 2013 đã thử mà vẫn không chạy được, toàn báo lỗi không tìm thấy file

Hay phải cài đặt gì đấy cho vs của mình nhỉ?

Bài liên quan
0