2012-04-20 3 views
1

나는 Valid characters of a hostname?과 관련 위키 페이지를 읽었습니다. 내가 확인할 수 없었던 것은 확장 호스트 이름을 가진 Windows 컴퓨터에서 gethostname()이 ToAscii 버전의 이름 또는 UTF8 문자열을 반환 할 것인가?호스트 이름은 유효한 Windows 디렉토리 이름으로 보장됩니까?

그리고 더 중요한 것은

gethostname(buffer,LEN); 
mkdir(buffer, mode); 

혹시 잘못된 이름으로 인해 실패 할 수 있습니다?

+0

"실패는 항상 옵션입니다." gethostname/mkdir이 이름으로 인해 실패하지 않으면 다른 이유로 인해 여전히 실패 할 수 있습니다. – theglauber

+0

확실하고 명확한 질문입니다. – Thomas

답변

0

DNS 호스트 이름과 NetBIOS 호스트 이름의 측면에서 MSDN에 useful information on hostnames이있는 것으로 보입니다. 호스트 이름은 실제로 UTF-8 일 수 있지만, 결정적이지는 않습니다.

그래서 gethostname에서 UTF-8을 얻는다면 디렉토리를 만드는 모든 Windows 기능을 호출하기 위해 그것을 아마도 UTF-16 (또는 시스템 기본 코드 페이지)으로 변환해야 할 것입니다. 또한 파일 시스템마다 문자 집합에 대한 규칙이 다릅니다. NTFS는 유니 코드를 정상적으로 처리하지만 FAT는 그렇지 않습니다.

로컬 컴퓨터의 이름을 ASCII가 아닌 문자로 변경하거나 시스템 기본 코드 페이지에없는 문자로 변경해보십시오.

+0

글쎄, 나는 확실한 답을 얻기를 바랐다.하지만 좋은 정보/아이디어를 주었다. 그래서 나는 당신에게 그것을 줄 것이다. 감사. – Thomas

관련 문제