문제

파일이나 네트워크에서 들어오는 바이트 스트림 (부호없는 숯)이 있습니다. 이 데이터가 클래스에 배치되어 있어야하며,이 작업을 수행하는 순전을 찾고 있습니다.

일부는 항상이 작업을 수행하므로 BitConverter를 사용하는 것보다 더 나은 방법이 있다고 생각합니다.

나는 너무 빛나는 정보를 공급했다는 것을 알고 있습니다. 예제 수업으로 시도하겠습니다.

class data { 
void doSmething(); 
int var1; 
float var2; 
} 

그런 다음이 클래스에 포함 된 데이터 (VAR1 및 VAR2)를 F.EX를 통해 전송하고 싶습니다. 네트워크 소켓과 다른 쪽 끝에 데이터를 수신합니다.

도움이 되었습니까?

해결책

존이 언급했듯이, 당신이 필요한 것이 명확하지 않습니다. 어쩌면 당신은 아마도 그것에 대해 이야기하고있을 것입니다 이진 직렬화 당신이 무엇을 찾고 있습니까?

다른 팁

당신이 의미하는 바를 완전히 명확하게 명확하지는 않지만 기본적으로 데이터를 버퍼링하여 나중에 얻을 수있는 방법을 찾고 있다면 나중에 얻을 수 있습니다. 메모리 스트림 아마도 당신의 최선의 방법 일 것입니다. 모든 데이터를 작성한 다음 설정하십시오 위치 0에서 다시 데이터를 다시 읽을 수 있습니다.

PIRX가 말했듯이 2 가지 옵션 또는 이진 직렬화 (PIRX가 말했듯이) 또는 XML 직렬화가 있습니다.

 [Serializable]
    [XmlRoot("CONFIGURATION")]
    public class Configuration
    {
        EnterpriseCollection enterprises;
        public Configuration()
        {

            enterprises= new EnterpriseCollection();
        }
        [XmlElement("ENTERPRISE")]
        public EnterpriseCollection Enterprises
        {
            get
            {
                return this.enterprises;
            }
            set
            {
                this.enterprises = value;
            }
        }
        private string name;
        [XmlElement("NAME")]
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }

std :: 문자열 클래스를 사용할 수 있습니다. 생성자 중 하나는 char*를 인수로 받아들이므로 char*에서 문자열로 바로 갈 수 있습니다. 그리고 문자열은 캐릭터 문자열을 저장하는 좋은 방법입니다. 이동 http://www.cppreference.com/ 문자열에 대한 자세한 내용은

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top