2009-03-12 4 views
1

일부 텍스트를 암호화하고 INI 파일에 넣습니다. 그런 다음 getprivateprofilestring()을 사용하여 값을 검색했지만 일부 최종 문자가 누락되었습니다. 나는 그것이 그것이 불완전한 원인이되는 새로운 라인 문자일지도 모른다라고 생각한다. INI 파일에 쓰기는 OK입니다. INI 파일을 열고 섹션과 키를 살펴 봅니다. 모든 것이 순서에 있습니다. 버그를 일으키는 검색 부분.Getprivateprofilestring 버그

감사합니다.

감사 에디

+0

코드 예제 및/또는 ini의 문제 섹션이 도움이됩니다. – AnthonyWJones

+0

네, 그렇게하지 않으면 우리가 할 수있는 일이별로 없습니다. – MarkJ

답변

0

WritePrivateProfileStringW는 기본적으로 활성 ANSI 코드 페이지에서 파일을 작성; WritePrivateProfileStringA은 항상 ANSI를 씁니다.

이 지시 here에 따라, 최상의 결과를 달성하고 문자열을 암호화 할 때 다시

1

먼저 데이터를 읽을 때 GetPrivateProfileStringW을 사용하려면, 그들이 INI 파일로 덤핑 전에 Base64로 변환되어 있는지 확인하십시오.

대부분의 경우 암호화 된 문자열은 INI 관련 API에서 제대로 처리하지 못하는 ASCII 문자를 생성했습니다.

0

당신이 작성중인 스트림에 암호화가 NULL 문자를 삽입하는 것보다 더 많은 가능성이 있습니다. GetPrivateProfileString은 NULL 문자를 찾을 때까지 문자열을 읽습니다.

그래서 Angry Hacker에 동의합니다. Base64 또는 다른 사람이 읽을 수있는 사람이 읽을 수있는 인코딩으로 변환하면 아무런 문제가 없습니다.