Đây là câu hỏi chủ yếu liên quan đến WinAPI RegSetValueEx. Nếu bạn nhìn vào mô tả của nó trong MSDN here bạn sẽ tìm thấy:Có cần thiết để thoát khỏi các dấu gạch chéo trong các chuỗi trong Windows Registry không?
lpData [in] Dữ liệu được lưu trữ.
REG_SZ, chuỗi phải bị hủy. Với kiểu dữ liệu REG_MULTI_SZ , chuỗi phải được kết thúc bằng hai ký tự null. A dấu gạch chéo ngược phải được đặt trước bởi dấu gạch chéo ngược khác là ký tự thoát . Ví dụ: chỉ định "C: \\ mydir \\ myfile" để lưu trữ chuỗi "C: \ mydir \ myfile".
Câu hỏi tôi có, tôi có thực sự cần phải thoát khỏi dấu gạch chéo không? Bởi vì tôi chưa bao giờ làm điều đó trước đây và nó hoạt động hoàn hảo.
Thoát là dành cho C++, không phải cho phương thức. Vì vậy, ví dụ: nếu bạn định đưa người dùng nhập vào dòng lệnh, bạn sẽ không cần phải biến đổi văn bản thành có \\ cho tất cả \. Nếu, tuy nhiên, bạn sẽ sử dụng một chuỗi chữ trong mã, như "C: \ ...", bạn sẽ cần nguồn C++ của bạn để có "C: \\ ...". Tôi giả định rằng đây là những gì các tài liệu đang nói về. Có một cơ hội trang có nghĩa là bạn sẽ thực sự cần phải làm "C: \\\\ ..." (trong trường hợp đó bạn có thể phải chuyển đổi đầu vào của người dùng) – Corbin
@Corbin :) Vâng, điều đó tạo nên sự khác biệt lớn. Nó rất khó hiểu làm thế nào họ đặt nó trong tài liệu. – ahmd0
+1 câu hỏi hay, tài liệu này thực sự kỳ lạ –