본문 바로가기

전체 글30

[비공개]string class 복사 시 참고하면 좋은 내용 출처 : http://soen.kr/lecture/ccpp/cpp4/36-2-2.htm 예제 : #include #include #include using namespace std; void main(){ string s("char array"); cout 2017. 9. 8.
strcpy strncpy 출처 : https://gpgstudy.com/forum/viewtopic.php?t=19342 strncpy()는 복사되었으면 하는 문자열의 길이를 넘어서지 않게 복사해 준다. 그리고 대상 버퍼를 넘어서게 되면 NULL로 끝나지 않는 문자열까지 복사하게 된다. 예를 들면 아래와 같다. strncpy(dest, 8, "1234567"); // dest == { '1', '2', '3', '4', '5', '6', '7', NULL } strncpy(dest, 8, "12345678"); // dest == { '1', '2', '3', '4', '5', '6', '7', '8' } strncpy_s() 는 대상 버퍼가 실제 수용가능한 크기와 복사되었으면 하는 문자열의 길이 두가지를 넘긴다. strncpy.. 2017. 7. 17.
strcpy_s 등 _s붙은 것들 특징, 문자열들 출처 : http://pccoms.tistory.com/entry/%EB%AC%B8%EC%9E%90%EC%97%B4-%EA%B4%80%EB%A6%AC-%ED%95%A8%EC%88%98%EB%93%A4-%EC%B4%9D%EC%A7%91%ED%95%A9 공통 _s 가 붙는 함수군에 대하여 - strDestination 버퍼를 넘어서는 메모리 복사를 방지하는 스트링 함수라 이해하면 되겠다. - _s류 함수의 첫 번째 인자로 배열이 들어가면 매크로에 의해 사이즈가 자동 계산된다. _s로 stcpy_s하더라도, 긴 string을 짧은 string으로 복사할 때, string이 잘리므로 뒤에 null이 없다. 생성된 짧은 string의 맨 뒤에 null을 넣어줘야 함. 2017. 7. 17.
memcpy strncpy 차이 링크 : http://jongyoungcha.tistory.com/entry/memcpy-strcpy%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90 memset같은 경우는 복사를 하다가 null을 만나도 복사를 멈추지 않고 끝까지 한다. 반면에 strncpy를 했을시에는 복사를 하다가 null값을 만나게 외면 복사를 멈추게 된다. 2017. 7. 17.