일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파싱
- 아두이노
- 웹
- Ajax
- 그누보드
- flex
- c#
- 자동블로그
- 자동포스팅
- 아두이노 강좌
- 자동글쓰기
- 쿠팡파트너스
- vultr
- 프로그램
- Javascript
- 가상서버
- 무료일러스트
- 워드프레스
- cocos2d-x
- 챗지피티
- Python
- 파이썬
- php
- vps
- 아두이노 초보
- ChatGPT
- 아두이노 기초강좌
- 자바스크립트
- HTML
- 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