2009-08-01 4 views
1

일부 짧은 사용자 데이터 문자열을 Windows 레지스트리에 저장합니다. 내 사용자 중 한 명이 '\'문자가 포함 된 문자열을 저장하려고 시도 할 때까지이 작업이 성공적으로 수행되었습니다. 이것은 레지스트리 경로 구분 기호로 해석되었습니다.Windows 레지스트리에 임의 텍스트 (''포함)를 저장하는 방법

이 문제를 방지하는 가장 좋은 방법은 무엇입니까? 어떤 종류의 간단한 인코딩?

참고/Qt QSetting 클래스를 사용하여 C++을 통해 레지스트리에 액세스하므로 모든 특정 MS 도구/언어에 대한 응답이 아닌 일반적인 대답을 주시면 감사하겠습니다.

+0

밝혀졌습니다. 키가 들어있는 문자열을 저장하고있었습니다 (원래 생각했던 것처럼 데이터가 아닙니다). 따라서 작동하지 않는 것이 놀랍지 않습니다. 제 불행에서 벗어나고 질문을 닫으십시오. –

답변

2

QSettings::setValue() 기능을 직접 사용할 수 있어야합니다. 그것이 작동하지 않는다면 (키 이름이 아닌 값을 위해) Qt의 버그처럼 들립니다. Key Syntax의 섹션에서는 키 이름에 슬래시를 사용하지 말고 값에 어떤 문제가 있는지 보지 않습니다.

+0

Groan. 추가 조사에서 다른 데이터를 저장하고있는 것으로 나타났습니다. 그래서 사용자 문자열을 키의 마지막 부분으로 사용하고 나머지 데이터를 값으로 저장했습니다. 따라서 엉망이 된 것은 놀랄 일이 아닙니다. 내 잘못이야. –

2

RegSetKeyValue은 키, 하위 키 및 값을 다른 매개 변수로 구분합니다.

모두 registry functions in MSDN입니다.

+0

Qt API를 사용하여 MS Win32 API가 아닌 레지스트리에 액세스합니다. 두 가지를 혼합하거나 Win32 API에서 모두 다시 작성하지 않는 것이 좋습니다. –

+0

아. 나는 Qt에 특화된 것이 아니라 "저급"/ 언어에 구애받지 않는 "일반적인"요청을했다. –

관련 문제