분류 전체보기 78

SpinEdit 컴포넌트 구현 (MFC)

SpinEdit 컴포넌트 - C++ 빌더에는 있는데 MFC의 경우 없다 따라서 Spin Control Edit Control 이 두 가지를 이용해서 카운터 증가시 Edit 값도 증가하는 SpinEdit 컴포넌트 만들 수 있다 1) Spin Control 속성 설정 Auto Buddy(자동 버디) -> true Alignment(맞춤) -> Right Align 로 지정 해준다 2) Edit Control 변수 추가 카운터의 값을 받을 변수를 추가 하여 값을 할당 받을 수 있게 한다 3) 탭 순서 변경 Spin Control와 Edit Control를 하나로 묶기 위해서는 Edit Control이 더 앞에 있어야 한다 Ctrl + D 를 눌러서 탭 순서를 변경 -> Edit Control(1) Spin C..

카테고리 없음 2024.03.07

E0304 인수 목록이 일치하는 오버로드된 함수 "AfxMessageBox"의 인스턴스가 없습니다 에러 (MFC)

에러 설명에 앞서 Visual Studio의 경우 문자 처리는 멀티바이트와 유니코드이다. 멀티바이트란 (MBCS: Multi Byte Character Set) 유니코드가 생기기 이전에 다국어를 표현하기 위해 사용했던 방식으로 영어는 1바이트, 그 외 문자는 2바이트로 처리한다. 유니코드란 (WBCS: Wide Byte Character Set) 기존 멀티바이트의 가변적인 특성을 없앤 방식으로 모든 문자를 2바이트로 처리한다. (GCC는 4바이트) 결론적으로 위 같은 에러가 발생하는 이유는 MFC의 경우 유니코드를 default로 사용하기 때문에 유니코드 형식으로 적어줘야 인식한다. 아래 사진과 같이 텍스트 앞에 'L'을 추가해주면된다. ex) AfxMessageBox(L" AfxSocketInit 호출..

오류 2024.03.05

C++ CLI 동적 배열

C++CLI에서도 정적 배열은 동일하게 ‘[]’ 를 사용 ex) c++ 배열 선언 int arr[5] = {0, 0, 0, 0, 0}; 기존 C++에서 동적 배열은 new C++/CLI에서의 동적배열은 ‘array’라는 클래스를 사용 한다 array^ A1 = gcnew array(3); cli는NET에서 C++를 사용하기 위한 언어 c++ cli는 c++에서 관리되는 코드를 실행할 수있게 해준다 즉, c#으로 만들어진 api 호출이 ㅇ가능 c++ cli 에만 있음 -> gcnew ++/CLI에서 닷넷 참조형은 gcnew라는 새로운 키워드 (new 대신 사용) .net의 CLR(Common Language Runtime)지원의 일환 ^ 형으로 선언된 변수를 동적으로 메모리에 생성하기 위해서는 gcnew ..

카테고리 없음 2024.02.07

c++ 파일 입출력 - 임시

파일 입출력 관련, std 네임스페이스의 파일 입출력 fstream 사용 ofstream - 파일에 내용을 적는 클래스로 주로 파일을 저장할 때 사용 ifstream- 파일의 내용을 읽어오는 클래스로 주로 파일에 저장된 데이터를 읽어올 때 사용 두 클래스 모두 open() 함수로 열어주고, close() 함수로 닫아줄 수 있다 +) get, getline, put, read, write - 스트림이 파일에 연결되어 있을시 읽고 쓰는 역할을 하는 함수들 추가적으로 c++ cli의 경우 cli 전용 입출력 함수가 있다 System::IO 네임스페이스의 StreamWriter() 함수 String^ file2 = "파일이름"; StreamWriter^ 변수 = gcnew StreamWriter("파일이름");..

카테고리 없음 2024.02.07

C# 파일 입출력 - 임시

C#에서 많이 사용되는 파일 처리 방법은 File 클래스와 Stream 클래스를 사용하는 방법이다. 공통적으로 System.IO 네임 스페이스에 정의되어 있다. 이 둘의 차이는 File 클래스 : 파일의 모든 데이터를 읽어 처리한다 따라서 대용량 파일을 처리할 때는 메모리를 관리하기 어렵다. File 클래스는 텍스트 파일 및 간단한 바이너리 파일을 다룰 때 권장 대표적으로 3)ReadAllLines, \n 을 기준으로 한 줄씩 불러오는 것(파일 안의 모드 텍스트를 라인별로 읽어 문자열 배열에 리턴) 라인단위로 읽기 WriteAllLines() - 문자열을 파일에 쓴 다음 파일을 닫음 (파일명, arrayList.Cast().ToArray()) 이게 들어감 - string형으로 형변환(Cast), cast..

C# 2024.02.07