본문 바로가기

Development/C|C++|C#9

[C#]csv 파일 읽기, 데이터 내 쉼표(숫자)처리 [C#]csv 파일 읽기, 데이터 내 쉼표(숫자)처리 csv파일 읽기는 보기보다 간단하다. 라이브러리가 있는것도 아니고 그냥 기본 파일 입출력과 동일하다. StreamReader sr = new StreamReader(textBox1.Text + "data.csv", Encoding.GetEncoding("euc-kr")); //읽어서 string s = sr.ReadLine(); while (!sr.EndOfStream) //한줄한줄 읽어서 { s = sr.ReadLine(); for (int i = 0; i = '0' && s.ElementAt(i) = '0' && s... 2017. 1. 13.
[C#]마우스 제어, 컨트롤(클릭, 위치 가져오기) [C#]마우스 제어, 컨트롤(클릭, 위치 가져오기) 최근 매크로 관련 프로그램 제작중 마우스를 컨트롤해야 할 경우가 있었다. 먼저 AhnLab Online Security 등의 키보드/마우스 원격제어 방지 보안된 프로그램에는 적용되지 않는다는걸 알려주고 시작한다. 어렵지 않다. 일단 user32.dll에 있는 mouse_event WINAPI를 import해야한다. namespace AutoMacro { public partial class Form1 : Form { [DllImport("user32.dll")] static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo); private const int .. 2017. 1. 12.
[Effective C++]4. 설계 및 선언 설계 및 선언 항목18. (명언) "제대로 쓰기에는 쉽게, 엉터리로 쓰기에는 어렵게" - 단순 매개변수, var의 저장/TOSS시에도 간단한 wrapper type (ex. year, month, day) - "When in doubt, do as the ints do" - (아예)스마트 포인터를 반환하여 실수 방지 - shared_ptr 은 auto_ptr와 돤리 삭제자를 엮을 수 있다 std::tr::shared_ptr pInv(static_cast(0), getRidOfInvestment); *null 보다 '미리 할 수 있으면' 바로 pInv 생성자에 넘기는 것이 바람직. → (항목 26) "객체가 정말로 필요할 때까지 선언 대기!" - 교차 DLL 문제 : A DLL → new, B DLL → .. 2016. 10. 29.
[Effective C++]3. 자원 관리 자원 관리 항목13. 자원관리는 수동보다 스마트 객체 사용이 바람직하다. - delete 부분전 예외 or return 등으로 인한 도달 실패 → 자원 누수 발생 - auto_ptr : 자동소멸 & 복사시 원본 제거(유일성 보장) - shared_ptr(=GC) : 참조 카운트 스마트 포인터(RCSP) → 카운팅 방식 * Resource Acqusition Is Initialization (RAII) : auto_ptr / shared_ptr - 동적 할당 배열시에도 delete (delete [] X) * shared_array (boost) - 자원관리를 보다 확실히 하기 위한 smart_ptr 자체를 반환하는 것도 고려 항목14. Mutex와 같은 자원관리 클래스의 unlock & 복사 함수 동작 .. 2016. 10. 19.