C++에서 GUI를 사용할 때 텍스트 필드는 관리되는 문자열로 저장됩니다. 표준 int, 부동 소수점 및 문자열로 변환 할 방법이 필요합니다. 어떤 도움이 필요합니까?C++에서 관리되는 유형과 관리되지 않는 유형 간의 변환?
1
A
답변
3
Marshal.StringToHGlobalAnsi을 사용하여 System.String을 관리되지 않는 char *로 변환 할 수 있습니다. 완료되면 Marshal.FreeHGlobal으로 전화하여 무료로 제공해야합니다. 문자열을 숫자 값으로 변환하려면 Int32.Parse
과 같은 일반 .NET 구문 분석 함수를 사용할 수 있습니다.
0
네이티브 코드에서 관리되는 메모리를 사용하려면 먼저 관리되는 메모리의 내용을 네이티브 메모리에 복사해야합니다.
const int len = 50;
BYTE *destination = new BYTE[nLength];
System::Byte source[] = new System::Byte[len];
System::Runtime::InteropServices::Marshal::
Copy(source, 0, IntPtr((void *)destination, len);
우리가 관리되는 메모리를 처리하기 때문에이 가비지 콜렉션이 이동하고 다른 위치로 관리되는 데이터를 이동 할 수 있습니다 : 예를 들어, 그래서
다음과 같이
관리되는 메모리에서 내용을 복사입니다 변환하려는 데이터를 찾으려고하면 모두 손실됩니다.
const int len = 50;
BYTE *source = new BYTE[len];
System::Byte destination[] = new System::Byte[len];
BYTE __pin *managedData = &(destination[0]);
::memcpy(source, managedData, len);
0
당신은 단순히
CString* name = new CString(managedName);
에 의해 MFC CString을에 시스템 :: 문자열^객체를 변환 할 수 있습니다 비 관리 관리에서
그러므로 우리는 변환 __pin 사용하여 "메모리에 핀"할
여기서 managedName은 관리되는 String입니다.
관련 문제
- 1. 관리되지 않는 GUID를 관리되는 Guid로 변환^
- 2. 관리되는 코드에서 관리되지 않는 배열 채우기
- 3. 관리되지 않는 메모리 및 관리되는 메모리
- 4. 관리되는 코드와 관리되지 않는 코드는 무엇을 의미합니까?
- 5. 관리되는 클래스의 관리되지 않는 구조 인스턴스
- 6. 관리되지 않는 메모리를 관리되는 바이트 배열로 복사
- 7. 관리되지 않는 HWND의 자식으로 관리되는 양식
- 8. 관리되는 코드가 관리되지 않음
- 9. 관리되는 실행 파일의 관리되지 않는 lib가 관리되는 예외를 발생 시킴
- 10. 관리되는 C#에서 관리되지 않는 무료 C 코드 메모리
- 11. 암시적인 방식으로 다른 유형 간의 유형 변환
- 12. .NET Framework에서 관리되지 않는 메모리를 할당하거나 사용하는 관리되는 클래스는 무엇입니까?
- 13. 사용자 정의 관리되지 않는 형식을 관리되는 형식으로 변환하는 방법?
- 14. 관리되는 C++의 관리되지 않는 C++ 템플릿이 잘못된 이미지를 던집니까?
- 15. 관리되는 이벤트 원본을 관리되지 않는 이벤트 싱크에 연결합니다.
- 16. 관리되는 C++에서 관리되지 않는 C++ 예외를 catch하는 방법
- 17. 래퍼를 관리되지 않는 코드
- 18. 관리 및 관리되지 않는
- 19. 관리되는 코드에서 관리되지 않는 개체를 매개 변수로 사용하여 관리되지 않는 메서드를 효율적으로 호출
- 20. Scala 컬렉션 유형 간의 암시 적 변환
- 21. .NET에서 관리되는 DLL의 관리되지 않는 클래스는 어떻게 사용합니까?
- 22. 관리되지 않는 포인터를 사용하는 메서드에 관리되는 참조 전달
- 23. 관리되지 않는 C++ COM 및 관리되는 C++ .NET4 interop
- 24. 관리되지 않는 데이터를 관리되는 코드로 푸시하는 방법은 무엇입니까?
- 25. Monotouch : 가비지 수집기, 관리되는 개체 및 관리되지 않는 개체
- 26. 관리되는 + 관리되지 않는 응용 프로그램으로 인해 메모리 누수가 발생합니다.
- 27. 등록되지 않은 COM을 관리되는/관리되지 않는 interop에서 작동시키는 방법
- 28. 관리되지 않는 코드에 대한 관리되는 컨트롤 핸들 제공 - 액세스 위반
- 29. 관리되는 환경에서 관리되지 않는 스레드를 사용할 때의 단점은 무엇입니까?
- 30. C++/CLI : 관리되지 않는 enum에서 관리되는 enum으로 캐스팅