void*타입에 문자열이 들어있는데, 출력하고 싶습니다.

sada0220의 이미지

안녕하세요

void* a = "asdfasdfasdf"가 들어있습니다.

만일 int가 char하나 같은 경우는.. 타입변환해서 출력하면 되는줄로 압니다.

그런데 위와같이.. String일 경우는 어떻게 출력해야 하나요?

도와주세요!ㅠ

myproverbs의 이미지

[pyoung@localhost delete]$ cat nice.c
#include <stdio.h>
 
int main()
        {
        void *a = "asdfasdfasdf";
        printf("%s", a);
        return 0;
        }
[pyoung@localhost delete]$ ./nice
asdfasdfasdf[pyoung@localhost delete]$
sada0220의 이미지

제가 의도한 질문에 대한 답은 맞아요^^ 감가합니다.

그런데 이상하게도 아래그림에서.. 주소안의 내용을 출력하고 싶은데.. 안되네요ㅜ

void* 형의 주소에 함수정보가 들어있고, 이걸 출력하고 싶은데요.

깨어져나와요ㅜ

도와주세요.

댓글 첨부 파일: 
첨부파일 크기
Image icon 없음.JPG0바이트
bootmeta의 이미지

출력하고 싶다면 해당 class instance 내 member를 직접 접근해서 출력해야겠죠.
예를 들어

// pseudo 코드
class X 
{
  char *name;
  int count;
};
 
....
X *my = new X("bulabula", 5);
 
printf ("%s %d\n", my->name, my->count);

sptech99의 이미지

watch 에 "(char*)temp" 를 입력해 보세요.