본문 바로가기

프로그래밍

[C]strtok함수 연속사용 NULL문자 보통 위와 같은 방식으로strtok를 처음 사용한다. 첫째줄 char *ptr = strtok(s1, " ");는 직관적이다. s1문자열 포인터를 입력으로 받아, 공백을 찾아서, 공백위치를 ptr값으로 반환한다. 그런데 ptr = strtok(NULL, " ");는 직관적이지 않다. ptr = strtok(NULL, " ");를 char *ptr = strtok(s1, " ");처럼 해석을 하면 NULL을 입력으로 받아 공백을 찾아서 ptr값으로 반환한다. 첫째줄을 실행할떈 공백자리에 NULL을 넣고 포인터를 반환한다. 문제가 뭐냐면 처음 호출되었을때 s1문자열 포인터의 값은 어디에 갔느냐이다. 정답은 함수 내부적으로 따로 저장 되어 있다. 그래서 while문 이후에도 문자열 위치를 잊지 않고 반복적으로.. 더보기
[daily][C++] list구현 맨날천날 물어보는게 리스트니 자주 구현하도록 하자 더보기
[C++]class의 static 변수 함수, lnk2001, lnk1120오류 보호되어 있는 글입니다. 더보기
[자료구조]리스트 내실을 위해 자료구조를... 리스트는 노드로 이루어져 있다. 리스트에 접근하기 위해서는 첫번째 노드의 주소인 헤드가 필요(헤드에는 데이터가 들어가지 않음 시간복잡도를 줄이기 위해 tail필요 -접근속도가 느리고 추가 메모리가 필요한 단점. -동적으로 메모리 사용 가능 -메모리의 효율적 사용 -데용랑 데이터 처리 적합 이제 다형성 갖게 코딩하면 더보기
[C#]시리얼 포트읽기 최소기능, 이벤트 핸들러 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO.Ports; namespace RecDB_Csharp { public partial class Form1 : Form { public Form1() { InitializeComponent(); Load += new EventHandler(comboBox1_Load); serialPort1.DataRe.. 더보기
[C#]콤보박스 드랍다운 메뉴 Load의 3가지 방법 요렇게 생긴 콤보 박스가 들어간 form이 있습니다. 위와 같이 콤보박스 리스트가 주르륵 나오게 하는 법을 적어보겠습니다. 우선 어플리케이션 흐름을 간단히 살펴보면 아래의 순서로 흐름이 진행됨을 볼 수 있습니다. 여기서 우리는 Form.Load단에서 접속가능한 시리얼 포트를 받아서 콤보박스 리스트에 추가할 것입니다. 첫번째 방법은 그런데 Load단계에서 처리하는 방법은 아닙니다. 이런식으로 comboBox1_Load함수만 띡 만들어 놓으면 실행해도 comboBox1_Load함수를 실행을 안합니다. 해당함수의 핸들러가 있어야 하는데요 왼쪽처럼 form디자인 들어가셔서 클릭후 오른쪽처럼 속성에서 DropDown을 클릭했을시 해당함수가 호출 되도록 하여야 합니다. 두번째 방법은 Initialize이후에 Loa.. 더보기
[C#] String에서 empty와 null의 차이 winform 예제로 계산기를 만들던 도중 -5+3 같은 계산식을 계산할때 런타임 오류가 발생했습니다. "-5"의 경우 split을 통해 문자열을 나누면 "\0"과 "5" 로 나누어 질줄 알고 아래처럼 예외처리를 하니 에러가 해결 되지 않았습니다. 디버깅을 해보니 ""과 "5"로 나눠 졌습니다 null하고 뭐가 다르지 싶어서 minusSplit[1]="\0"을 넣어보니 다음과 같이 값차이가 났습니다. ""과 "\0"의 차이에 대해서 찾아보니 "null is used to refer to nothing while empty is used to refer to a unique string with zero length." ""은 길이가 0인 문자열 "\0"은 nothing 이라 하였습니다. nothing이 .. 더보기