2009-04-08 4 views
1

У кого-нибудь есть идея, почему некоторые установки Windows XP не будут оценивать путь с двойным обратным слэшем в них?Двойная обратная косая черта не работает?

Ошибка найдена на некоторых XP (такая же сборка, исправления, неизвестные подробности). В большинстве случаев все работает, на некоторых ПК ниже не работает:

Путь запроса (реестр или папка) с функциями, такими как RegEnumKeyEx, fopen не работает, если путь содержит две обратные косые черты, например C:\\test\hello.txt.

strPath = "\SOFTWARE\Microsoft\Windows\Currentversion\run" // works 

strPath = "\SOFTWARE\Microsoft\Windows\Currentversion\\run" // doesn't work 

Есть ли какой-либо вариант политики или настройки, которые могут повлиять на него?

Любая помощь приветствуется, RM

ответ

0

Возможно, совершенно не связаны, но в C/C++ (и другие языки тоже) - "c:\\\\test\hello.txt" хорошо, но "c:\test\hello.txt" не (потому что \t анализируется как символ табуляции, так вы получаете имя, которое на самом деле не существует).

Есть ли шанс, что сбой произойдет, если две обратные косые черты не существуют, и все работает, когда они это делают?

+0

нет, синтаксис верен. Я имею в виду, что это не работает, когда в синтаксисе есть четыре обратных слэша, что приводит к двум обратным слэшам в реальной строке. Когда есть две обратные косые черты (в результате одна обратная косая черта в фактической строке), она работает – 2009-04-08 10:53:58

0

Почему бы вам просто не изменить путь, чтобы иметь только один \ перед его использованием?

+0

, это не похоже на то, что я не могу этого сделать, но знать, почему это происходит. это не имеет никакого смысла. я также использовал его во множестве кода в прошлом, поэтому было бы хорошо знать – 2009-04-14 04:36:58

 Смежные вопросы

  • Нет связанных вопросов^_^