일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- cocos2d-x
- 아두이노 강좌
- 그누보드
- Python
- c#
- 파싱
- Php공부
- ChatGPT
- 아두이노
- vultr
- 파이썬
- 아두이노 초보
- 자동포스팅
- Ajax
- 쿠팡파트너스
- 무료일러스트
- 자동글쓰기
- 아두이노 기초강좌
- 챗지피티
- 가상서버
- flex
- vps
- HTML
- 프로그램
- 워드프레스
- Javascript
- 웹
- 자바스크립트
- php
- 자동블로그
Archives
- Today
- Total
플밍
C++ <=> C# string 데이타 교환 본문
C++ 로 만든 DLL과 C#의 클라이언트가 문자열을 주고 받을때는 int* 형을 쓰면 쉽다
C++ : dll 파일
#include <atlbase.h>
#include <atlconv.h>
extern "C" DLLTYPE int* test(int* str){
static wstring s = CA2CT((char*)str); //unicode 형으로 바꿔준다
s.append(L"--A"); //문자 추가
return (int*)s.c_str();
}
#ads_1
C# : dll Client
public partial class Form1 : Form{
[DllImport("AutoPost.dll")]
public static extern IntPtr test(char[] str); // c++ 에서 보내온 int* 형을 IntPtr 형으로 받는다
......
private void button4_Click(object sender, EventArgs e){
String str = "하하하";
char[] cstr = str.ToCharArray(); //char[] 형으로 변환한다
IntPtr s = test(cstr);
String str2 = Marshal.PtrToStringUni(s); //포인터형을 unicode스크링으로 변환한다
MessageBox.Show(str2);
}
}
결과 (MessageBox 창으로 출력) >>
하하하--A
#ads_2
Comments