fstream을 사용하여 이러한 기호를 파일로 인쇄 할 때 결과가 엉망입니다. 사용 :C++ fstream은 ρ 및 Δ와 같은 기호를 올바르게 파일에 인쇄하지 않습니다.
file << "Δ" << endl;
이 리눅스에서 잘 작동하지만 내가 그것을 compilled 때 창문이 작동하지 않습니다.
Windows에서이 작업을 수행하는 구체적인 방법이 있습니까?
fstream을 사용하여 이러한 기호를 파일로 인쇄 할 때 결과가 엉망입니다. 사용 :C++ fstream은 ρ 및 Δ와 같은 기호를 올바르게 파일에 인쇄하지 않습니다.
file << "Δ" << endl;
이 리눅스에서 잘 작동하지만 내가 그것을 compilled 때 창문이 작동하지 않습니다.
Windows에서이 작업을 수행하는 구체적인 방법이 있습니까?
다음은 MSVC2010에서 작동합니다. UTF-8 바이트 스트림에 와이드 문자 은밀한 할 std::codecvt_utf8_utf16를 사용
#include <fstream>
#include <codecvt>
int main()
{
std::wofstream file("myfile", std::ios::out | std::ios::binary);
file.imbue(std::locale(file.getloc(), new std::codecvt_utf8_utf16<wchar_t>));
file << L"Δ" << std::endl;
}
을 나는 윈도우 콘솔은 유니 코드 문자를 –
@TonyTheLion를 지원 생각하지 않는다 : 영업 이익은 파일에 쓰고있다. –
사용 된 인코딩을 확인 했습니까? 리눅스에서는 아마도 UTF-8 일 것이지만 Windows에서는 BOM이 없으면 로컬 코드 페이지가 기본이 될 것입니다. – Caladan