public void aa(char []str)
{
MessageBox.Show(new string(str));
return;
}
이게 C#에 만들어둔 메서드고
char * 해보니까 안돼서 저렇게 한거거든여
그리고 .tlb파일 만들어서 C에서 csi->aa("str") 해놓고 컴파일해보면 char [4]에서 SAFEARRAY *로 변환할 수 없다고 에러뜨는데 어케해야되나염
public void aa(char []str)
{
MessageBox.Show(new string(str));
return;
}
이게 C#에 만들어둔 메서드고
char * 해보니까 안돼서 저렇게 한거거든여
그리고 .tlb파일 만들어서 C에서 csi->aa("str") 해놓고 컴파일해보면 char [4]에서 SAFEARRAY *로 변환할 수 없다고 에러뜨는데 어케해야되나염
*은 일단 포인터잖아여
C#에선 포인터 안쓰는게 좋아용
그럼 C# dll에 있는 함수에 string 전달하려고 하는데 어케 해야되나요?
c에서 문자열 전달을 하려고 하는데 C#에서 어케 받아야할지..
어..매개변수 string으로 해놓고 그냥 char* 넘기면 되네요..뭐지 아까 안됐는데
저는 그 방법은 잘 몰그쎄는데
http://stackoverflow.com/questions/946813/c-cli-converting-from-systemstring-to-stdstring
일단 .net 에서 스트링을 쓰면 쓸 수 있는걸로 알아여
c#에서 c나 c++ 문법을 쓰려면 VS설정을 바꿔주어야 하는걸로 알고 있음