'/' và './' trong c++

Cho em hỏi /./ khác nhau thế nào ạ?

ofstream dplayer;
dplayer.open("./game_data/player.txt");

khi em thay đường dẫn là /game_data/player.txt hay \\game_data\\player.txt thì nó không hoạt động, nhưng khi thêm ./ thì lại được.

Cho em hỏi luôn là nếu mang code này đi build ở os khác thì có thay đổi gì không ạ?

1 Like

./ chỉ current directory mà bạn đang ở. Còn / chỉ root directory của Linux, chứa các file/folder liên quan đến system. Còn về việc có thấy đổi gì khi đem build sáng os khá thì mình nghĩ là có. Nếu bạn có ý định đem build sáng MacOS hay Linux thì không cần thay đổi gì. Với Window thì bạn phải thay ./ với disk mà bạn đang locate, ví dụ:

C:/Project/MyGame/game_data/player.txt
3 Likes

Mình đánh giá đây là một câu hỏi fake. Câu hỏi này là môn hệ điều hành nói chung hoặc thuộc về một hệ điều hành cụ thể, chứ không phải là câu hỏi về lập trình C++.

Nên tra cứ về chương nói về path trong sách về hệ điều hành để có kiến thức. Còn việc hỏi trời ơi “mang code này đi build” thì tra cứu về “Writing cross-platform C++ Code”

Trong thực tế, có khi 99% dòng code mang đi build ở OS khác được, bỗng đâu xuất hiện một dòng gọi đến một hàm đặc trưng không thể cross-platform thì…

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?