내 프로젝트 (Unreal Engine 4)에서 출력 스트림이 없습니다. 대신 UE_LOG 함수를 통해 통신 할 수 있습니다. 이는 printf()
과 매우 유사합니다 . 문제는 방금 iostream
을 통해 통신하고 싶은 .dll 라이브러리 (Unreal 인클루드가 포함되지 않은 라이브러리)를 만들었다는 것입니다. 내 생각은 - 내부 .dll 라이브러리입니다. 표준 cout
을 사용하여 ostream에 메시지를 쓰고, 언리얼 엔진 함수에서이 모든 것을 사용합니다. ostream
을 문자열 형태로 가져 와서 UE_LOG 함수로 출력합니다.std :: cout, ostream 및 다른 종류의 출력 스트림 받기
문제 실제로 내부에 무엇이 있는지를 생각하지 않고 나는 std::cout
을 마법의 일부로 취급합니다 (나는 우리 대부분이 한 것이 확실합니다). 어떻게 처리 할 수 있니? 쉬운 방법은 작동하지 않습니다 (예 : stringstream
을 잡고 UE_LOG로 출력).
'std :: ostream' 구문과 일치하는 내용을 포장하십시오. BIG GRIN : D –
왜 그냥 문자열을 전달할 수있을 때 주위에 스트림을 전달합니까? DLL의 함수가'std :: string' 인수를 취하고 문자열을 반환해야한다면'std :: string'을 반환합니다. –
@ joachim-pileborg 예,하지만 dll 함수는 복잡한 프로세스를 만들 수 있으며 실행 전후에 호출해야합니다. 따라서 문자열을 잡는 것만으로는 도움이되지 않습니다. –