제 과제 중 하나인데 아래의 전체 구조체를 문자열 형식으로 인쇄하는 작업이 있습니다.구조체를 C 언어로 된 문자열 형식으로 출력하십시오.
Struct test
{
int a,
char char1,char2;
}
출력은 다음과 같아야합니다. 구조는 a = 10, char1 = b, char2 = c; 나는 그것이
printf("Structure is a=%d,char1=%c, char2= %c", s.a,s.char1,s.char2);
그러나 실시간으로
를 사용하여 매우 간단합니다 알고, 나는 큰 구조를 많이하고 난 구조의 각 요소에 대한 액세스 지정자와의 printf 문을 쓸 수 없습니다. 구조체 변수 또는 일부 다른 변수를 지정하여 전체 구조체를 인쇄하는 다른 방법이 있습니까?
아니요 인쇄 방법을 알고있는 코드가 없어도 전체 구조를 간단하게 인쇄 할 수있는 방법이 없습니다. –
C에는 리플렉션이 없습니다. 이는 일반적으로 그런 것을 지원하는 데 사용됩니다. 상황에 따라 사전 처리기로 시뮬레이션하거나 디버그 정보와 함께 플랫폼 특정 코드를 사용하여 시뮬레이션 할 수 있습니다. –
@JonathanLeffler 기술적으로, 여러분이 크기를 알고 있다면 단순히 Struct의 메모리 주소를 가져 와서 다음 n 바이트의 메모리를 덤프 할 수 있습니다. 그것은 매우 유용하지는 않을 것이다. – Polar